00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00017 #ifndef _FCD_TARGETED_ENTITY_H_
00018 #define _FCD_TARGETED_ENTITY_H_
00019
00020 #include "FCDocument/FCDEntity.h"
00021
00022 class FCDSceneNode;
00023
00036 class FCOLLADA_EXPORT FCDTargetedEntity : public FCDEntity
00037 {
00038 private:
00039 DeclareObjectType;
00040
00041
00042 string targetId;
00043 FCDSceneNode* targetNode;
00044
00045 public:
00050 FCDTargetedEntity(FCDocument* document, const char* baseId);
00051
00054 virtual ~FCDTargetedEntity();
00055
00058 inline bool HasTarget() const { return targetNode != NULL; }
00059
00062 inline FCDSceneNode* GetTargetNode() { return targetNode; }
00063 inline const FCDSceneNode* GetTargetNode() const { return targetNode; }
00067 void SetTargetNode(FCDSceneNode* target);
00068
00074 FUStatus LinkTarget(FCDSceneNode* sceneRoot);
00075
00076 protected:
00081 inline const string& GetTargetId() { return targetId; }
00082
00088 inline void SetTargetId(const string& _targetId) { targetId = _targetId; }
00089 inline void SetTargetId(const char* _targetId) { targetId = _targetId; }
00090 };
00091
00092 #endif // _FCD_TARGETED_ENTITY_H_
00093