cherish
Entity2D.h
1 #ifndef ENTITY_H
2 #define ENTITY_H
3 
4 #include "Settings.h"
5 
6 #include <osg/Geometry>
7 
8 namespace entity {
9 
13 class Entity2D : public osg::Geometry
14 {
15 public:
16  Entity2D();
17  Entity2D(const Entity2D& copy, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY);
18 
19  virtual void moveDelta(double du, double dv) = 0;
20  virtual void scale(double scaleX, double scaleY, osg::Vec3f center) = 0;
21  virtual void scale(double scale, osg::Vec3f center) = 0;
22  virtual void rotate(double theta, osg::Vec3f center) = 0;
23  virtual void setColor(const osg::Vec4f& color) = 0;
24  virtual const osg::Vec4f& getColor() const = 0;
25  virtual void setSelected(float alpha) = 0;
26  virtual void setUnselected(float alpha) = 0;
27 
28  virtual cher::ENTITY_TYPE getEntityType() const = 0;
29 
30 protected:
31  using osg::Geometry::addPrimitiveSet;
32  using osg::Geometry::addUpdateCallback;
33  using osg::Geometry::asCamera;
34  using osg::Geometry::asDrawable;
35  using osg::Geometry::asGeode;
36  using osg::Geometry::asGeometry;
37  using osg::Geometry::asGroup;
38  using osg::Geometry::asNode;
39  using osg::Geometry::asSwitch;
40  using osg::Geometry::asTransform;
41 };
42 }
43 
44 
45 #endif // ENTITY_H
Scene graph entities.
Definition: AddEntityCommand.h:17
Definition: Entity2D.h:13
Settings is a configuration variables file for Cherish: enums, consts, defaults. Contains settings su...