00001 #ifndef __domAnimation_h__ 00002 #define __domAnimation_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domAsset.h> 00009 #include <dom/domSource.h> 00010 #include <dom/domSampler.h> 00011 #include <dom/domChannel.h> 00012 #include <dom/domAnimation.h> 00013 #include <dom/domExtra.h> 00014 class DAE; 00015 00022 class domAnimation : public daeElement 00023 { 00024 public: 00025 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ANIMATION; } 00026 static daeInt ID() { return 327; } 00027 virtual daeInt typeID() const { return ID(); } 00028 protected: // Attributes 00034 xsID attrId; 00038 xsToken attrName; 00039 00040 protected: // Elements 00044 domAssetRef elemAsset; 00048 domSource_Array elemSource_array; 00053 domSampler_Array elemSampler_array; 00058 domChannel_Array elemChannel_array; 00063 domAnimation_Array elemAnimation_array; 00067 domExtra_Array elemExtra_array; 00071 daeElementRefArray _contents; 00075 daeUIntArray _contentsOrder; 00076 00080 daeTArray< daeCharArray * > _CMData; 00081 00082 00083 public: //Accessors and Mutators 00088 xsID getId() const { return attrId; } 00093 void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; 00094 if( _document != NULL ) _document->changeElementID( this, attrId ); 00095 } 00096 00101 xsToken getName() const { return attrName; } 00106 void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;} 00107 00112 const domAssetRef getAsset() const { return elemAsset; } 00117 domSource_Array &getSource_array() { return elemSource_array; } 00122 const domSource_Array &getSource_array() const { return elemSource_array; } 00127 domSampler_Array &getSampler_array() { return elemSampler_array; } 00132 const domSampler_Array &getSampler_array() const { return elemSampler_array; } 00137 domChannel_Array &getChannel_array() { return elemChannel_array; } 00142 const domChannel_Array &getChannel_array() const { return elemChannel_array; } 00147 domAnimation_Array &getAnimation_array() { return elemAnimation_array; } 00152 const domAnimation_Array &getAnimation_array() const { return elemAnimation_array; } 00157 domExtra_Array &getExtra_array() { return elemExtra_array; } 00162 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00167 daeElementRefArray &getContents() { return _contents; } 00172 const daeElementRefArray &getContents() const { return _contents; } 00173 00174 protected: 00178 domAnimation(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemSource_array(), elemSampler_array(), elemChannel_array(), elemAnimation_array(), elemExtra_array() {} 00182 virtual ~domAnimation() { daeElement::deleteCMDataArray(_CMData); } 00186 virtual domAnimation &operator=( const domAnimation &cpy ) { (void)cpy; return *this; } 00187 00188 public: // STATIC METHODS 00193 static DLLSPEC daeElementRef create(DAE& dae); 00199 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00200 }; 00201 00202 00203 #endif