1 #ifndef SHADEREDENTITY2D_H 2 #define SHADEREDENTITY2D_H 5 #include <osg/Geometry> 7 #include <osg/MatrixTransform> 10 #include "libSGControls/ProgramEntity2D.h" 22 ShaderedEntity2D(
unsigned int drawing, osg::Geometry::AttributeBinding binding,
23 const std::string& name,
const osg::Vec4f& color);
38 virtual void appendPoint(
const float u,
const float v, osg::Vec4f color);
41 virtual osg::Vec2f
getPoint(
unsigned int i)
const;
44 virtual osg::Vec3f
getPoint3(
unsigned int i)
const;
62 virtual void moveDelta(
double du,
double dv);
67 virtual void scale(
double scaleX,
double scaleY, osg::Vec3f center);
71 virtual void scale(
double scale, osg::Vec3f center);
75 virtual void rotate(
double theta, osg::Vec3f center);
77 virtual cher::ENTITY_TYPE getEntityType()
const = 0;
79 #ifndef DOXYGEN_SHOULD_SKIP_THIS 80 void setLines(osg::DrawArrays* lines);
81 const osg::DrawArrays* getLines()
const;
83 void setColor(
const osg::Vec4f& color);
84 const osg::Vec4f& getColor()
const;
92 void setIsShadered(
bool shadered);
93 bool getIsShadered()
const;
101 osg::ref_ptr<osg::DrawArrays> m_lines;
102 osg::observer_ptr<ProgramEntity2D> m_program;
104 osg::Vec4f m_colorNormal, m_colorSelected;
110 #endif // SHADEREDENTITY2D_H A virtual class to be inhereted by program for stroke, polygon and other entities.
Definition: ProgramEntity2D.h:17
virtual osg::Vec3f getPoint3(unsigned int i) const
Definition: ShaderedEntity2D.cpp:277
Scene graph entities.
Definition: AddEntityCommand.h:17
virtual void initializeProgram(ProgramEntity2D *p, unsigned int mode=GL_LINE_STRIP)
Definition: ShaderedEntity2D.cpp:43
int getNumPoints() const
Definition: ShaderedEntity2D.cpp:153
virtual void scale(double scaleX, double scaleY, osg::Vec3f center)
Definition: ShaderedEntity2D.cpp:172
void setUnselected(float alpha)
Definition: ShaderedEntity2D.cpp:249
ShaderedEntity2D(unsigned int drawing, osg::Geometry::AttributeBinding binding, const std::string &name, const osg::Vec4f &color)
Definition: Entity2D.h:13
virtual bool copyFrom(const entity::ShaderedEntity2D *copy)
Definition: ShaderedEntity2D.cpp:61
virtual void appendPoint(const float u, const float v, osg::Vec4f color)
Definition: ShaderedEntity2D.cpp:78
Settings is a configuration variables file for Cherish: enums, consts, defaults. Contains settings su...
virtual osg::Vec2f getPoint(unsigned int i) const
Definition: ShaderedEntity2D.cpp:96
void setSelected(float alpha)
Definition: ShaderedEntity2D.cpp:234
virtual void moveDelta(double du, double dv)
Definition: ShaderedEntity2D.cpp:161
Abstract class for all the shaderized entities, i.e., strokes, polygons and line segments.
Definition: ShaderedEntity2D.h:18
virtual void rotate(double theta, osg::Vec3f center)
Definition: ShaderedEntity2D.cpp:194
virtual bool redefineToShape(osg::MatrixTransform *t=0)=0
virtual bool redefineToShader(osg::MatrixTransform *t)=0