Entity.hh
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef ENTITY_HH
00029 #define ENTITY_HH
00030
00031 #include <vector>
00032 #include <string>
00033 #include <ode/ode.h>
00034
00035 namespace gazebo
00036 {
00037
00038 class OgreVisual;
00041
00042
00044
00045
00046
00047 class Entity
00048 {
00051 public: Entity(Entity *parent = NULL);
00052
00054 public: virtual ~Entity();
00055
00058 public: int GetId() const;
00059
00062 public: int GetParentId() const;
00063
00066 public: void SetParent(Entity *parent);
00067
00070 public: Entity *GetParent() const;
00071
00074 public: void AddChild(Entity *child);
00075
00078 public: std::vector< Entity* > &GetChildren();
00079
00082 public: OgreVisual *GetVisualNode() const;
00083
00086 public: void SetVisualNode(OgreVisual *visualNode);
00087
00090 public: void SetName(const std::string &name);
00091
00094 public: std::string GetName() const;
00095
00098 public: std::string GetUniqueName() const;
00099
00102 public: void SetStatic(bool s);
00103
00106 public: bool IsStatic() const;
00107
00109 public: bool operator==(const Entity &ent);
00110
00112 protected: Entity *parent;
00113
00115 public: std::vector< Entity* > children;
00116
00118 private: unsigned int id;
00119
00121 private: static unsigned int idCounter;
00122
00124 protected: OgreVisual *visualNode;
00125
00127 public: dSpaceID spaceId;
00128
00130 private: std::string name;
00131
00132 private: bool isStatic;
00133 };
00134
00136 }
00137
00138 #endif