#ifndef OSG_POINT #define OSG_POINT 1 #include #include #include namespace osg { class Input; class Output; class SG_EXPORT Point : public Object { public : Point(); static Point* instance(); virtual Object* clone() const { return new Point(); } virtual bool isSameKindAs(Object* obj) { return dynamic_cast(obj)!=NULL; } virtual const char* className() const { return "Point"; } void setSize(float size); void setFadeThresholdSize(float fadeThresholdSize); void setDistanceAttenuation(const Vec3& distanceAttenuation); static void enableSmooth( void ); static void disableSmooth( void ); void apply( void ); static void init_GL_EXT(); protected : virtual ~Point(); virtual bool readLocalData(Input& fr); virtual bool writeLocalData(Output& fw); float _size; float _fadeThresholdSize; Vec3 _distanceAttenuation; }; }; #endif