00001 /* 00002 Copyright (C) 2005-2007 Feeling Software Inc. 00003 Portions of the code are: 00004 Copyright (C) 2005-2007 Sony Computer Entertainment America 00005 00006 MIT License: http://www.opensource.org/licenses/mit-license.php 00007 */ 00008 /* 00009 Based on the FS Import classes: 00010 Copyright (C) 2005-2006 Feeling Software Inc 00011 Copyright (C) 2005-2006 Autodesk Media Entertainment 00012 MIT License: http://www.opensource.org/licenses/mit-license.php 00013 */ 00014 00020 #ifndef _FCD_TARGETED_ENTITY_H_ 00021 #define _FCD_TARGETED_ENTITY_H_ 00022 00023 #ifndef _FCD_ENTITY_H_ 00024 #include "FCDocument/FCDEntity.h" 00025 #endif // _FCD_ENTITY_H_ 00026 00027 class FCDSceneNode; 00028 00041 class FCOLLADA_EXPORT FCDTargetedEntity : public FCDEntity 00042 { 00043 private: 00044 DeclareObjectType(FCDEntity); 00045 00046 // Target 00047 DeclareParameterPtr(FCDSceneNode, targetNode, FC("Target Node")); 00048 00049 public: 00054 FCDTargetedEntity(FCDocument* document, const char* baseId); 00055 00057 virtual ~FCDTargetedEntity(); 00058 00061 inline bool HasTarget() const { return targetNode != NULL; } 00062 00065 inline FCDSceneNode* GetTargetNode() { return targetNode; } 00066 inline const FCDSceneNode* GetTargetNode() const { return targetNode; } 00070 void SetTargetNode(FCDSceneNode* target); 00071 00080 virtual FCDEntity* Clone(FCDEntity* clone = NULL, bool cloneChildren = false) const; 00081 00082 }; 00083 00084 #endif // _FCD_TARGETED_ENTITY_H_ 00085