00001 /* 00002 Copyright (C) 2005-2006 Feeling Software Inc. 00003 MIT License: http://www.opensource.org/licenses/mit-license.php 00004 */ 00005 00006 #ifndef _FCD_ANIMATION_CLIP_H_ 00007 #define _FCD_ANIMATION_CLIP_H_ 00008 00009 class FCDocument; 00010 class FCDAnimationCurve; 00011 00012 typedef vector<FCDAnimationCurve*> FCDAnimationCurveList; 00013 00014 #include "FCDocument/FCDEntity.h" 00015 #include "FCDocument/FCDObject.h" 00016 00017 class FCOLLADA_EXPORT FCDAnimationClip : public FCDEntity 00018 { 00019 private: 00020 DeclareObjectType; 00021 FCDAnimationCurveList curves; 00022 float start, end; 00023 00024 public: 00025 FCDAnimationClip(FCDocument* document); 00026 virtual ~FCDAnimationClip(); 00027 00028 FCDAnimationClip* Clone(); 00029 00030 // FCDEntity overrides 00031 virtual Type GetType() const { return ANIMATION_CLIP; } 00032 00033 // Accessors 00034 FCDAnimationCurveList& GetClipCurves() { return curves; } 00035 const FCDAnimationCurveList& GetClipCurves() const { return curves; } 00036 float GetStart() const { return start; } 00037 float GetEnd() const { return end; } 00038 00039 // Load a Collada animation node from the XML document 00040 virtual FUStatus LoadFromXML(xmlNode* clipNode); 00041 00042 // Write out the COLLADA animations to the document 00043 virtual xmlNode* WriteToXML(xmlNode* parentNode) const; 00044 }; 00045 00046 #endif // _FCD_ANIMATION_CLIP_H_ 00047