00001 #ifndef __domMorph_h__ 00002 #define __domMorph_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domSource.h> 00009 #include <dom/domInput_local.h> 00010 #include <dom/domExtra.h> 00011 class DAE; 00012 00018 class domMorph : public daeElement 00019 { 00020 public: 00021 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MORPH; } 00022 static daeInt ID() { return 343; } 00023 virtual daeInt typeID() const { return ID(); } 00024 public: 00025 class domTargets; 00026 00027 typedef daeSmartRef<domTargets> domTargetsRef; 00028 typedef daeTArray<domTargetsRef> domTargets_Array; 00029 00034 class domTargets : public daeElement 00035 { 00036 public: 00037 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TARGETS; } 00038 static daeInt ID() { return 344; } 00039 virtual daeInt typeID() const { return ID(); } 00040 00041 protected: // Elements 00046 domInput_local_Array elemInput_array; 00050 domExtra_Array elemExtra_array; 00051 00052 public: //Accessors and Mutators 00057 domInput_local_Array &getInput_array() { return elemInput_array; } 00062 const domInput_local_Array &getInput_array() const { return elemInput_array; } 00067 domExtra_Array &getExtra_array() { return elemExtra_array; } 00072 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00073 protected: 00077 domTargets(DAE& dae) : daeElement(dae), elemInput_array(), elemExtra_array() {} 00081 virtual ~domTargets() {} 00085 virtual domTargets &operator=( const domTargets &cpy ) { (void)cpy; return *this; } 00086 00087 public: // STATIC METHODS 00092 static DLLSPEC daeElementRef create(DAE& dae); 00098 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00099 }; 00100 00101 00102 protected: // Attributes 00108 domMorph_method attrMethod; 00112 xsAnyURI attrSource; 00113 00114 protected: // Elements 00118 domSource_Array elemSource_array; 00123 domTargetsRef elemTargets; 00127 domExtra_Array elemExtra_array; 00128 00129 public: //Accessors and Mutators 00134 domMorph_method getMethod() const { return attrMethod; } 00139 void setMethod( domMorph_method atMethod ) { attrMethod = atMethod; } 00140 00145 xsAnyURI &getSource() { return attrSource; } 00150 const xsAnyURI &getSource() const { return attrSource; } 00155 void setSource( const xsAnyURI &atSource ) { attrSource = atSource; } 00160 void setSource( xsString atSource ) { attrSource = atSource; } 00161 00166 domSource_Array &getSource_array() { return elemSource_array; } 00171 const domSource_Array &getSource_array() const { return elemSource_array; } 00176 const domTargetsRef getTargets() const { return elemTargets; } 00181 domExtra_Array &getExtra_array() { return elemExtra_array; } 00186 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00187 protected: 00191 domMorph(DAE& dae) : daeElement(dae), attrMethod(), attrSource(dae, *this), elemSource_array(), elemTargets(), elemExtra_array() {} 00195 virtual ~domMorph() {} 00199 virtual domMorph &operator=( const domMorph &cpy ) { (void)cpy; return *this; } 00200 00201 public: // STATIC METHODS 00206 static DLLSPEC daeElementRef create(DAE& dae); 00212 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00213 }; 00214 00215 00216 #endif