00001 #ifndef X3DTK_X3DCOMPONENT_H 00002 #define X3DTK_X3DCOMPONENT_H 00003 00004 #include "X3DTypes.h" 00005 #include "SFComponent.h" 00006 00007 namespace X3DTK { 00008 00014 class X3DComponent 00015 { 00016 public: 00018 X3DComponent(); 00020 virtual ~X3DComponent() = 0; 00021 00023 inline SFComponent *getComponent() const {return component;}; 00025 inline SFString getName() const {return component->getName();}; 00026 00028 void addOneActor(); 00030 void removeOneActor(); 00031 00033 inline unsigned int getActorNumber() const {return _actorNumber;}; 00034 00035 protected: 00037 void defineComponentName(const SFString &name, const SFString &sceneGraph); 00039 SFComponent *component; 00040 00041 private: 00042 unsigned int _actorNumber; 00043 }; 00044 00045 } 00046 00047 #endif