00001 00002 // X3DComponent.h // 00004 00005 #ifndef X3DCOMPONENT_H 00006 #define X3DCOMPONENT_H 00007 00008 #include "X3DTypes.h" 00009 #include "Component.h" 00010 00011 namespace X3DTK { 00012 00014 00015 class X3DComponent 00016 { 00017 public: 00019 X3DComponent(); 00021 virtual ~X3DComponent() = 0; 00022 00024 inline Component *getComponent() const {return component;}; 00026 inline SFString getName() const {return component->getName();}; 00027 00029 void addOneActor(); 00031 void removeOneActor(); 00032 00034 inline unsigned int getActorNumber() const {return _actorNumber;}; 00035 00036 protected: 00037 void defineComponentName(const SFString &name, const SFString &sceneGraph); 00038 Component *component; 00039 00040 private: 00041 unsigned int _actorNumber; 00042 }; 00043 00044 } 00045 00046 #endif