00001 #ifndef __domPcurves_h__ 00002 #define __domPcurves_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domInput_local_offset.h> 00009 #include <dom/domP.h> 00010 #include <dom/domExtra.h> 00011 class DAE; 00012 00013 class domPcurves : public daeElement 00014 { 00015 public: 00016 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PCURVES; } 00017 static daeInt ID() { return 322; } 00018 virtual daeInt typeID() const { return ID(); } 00019 public: 00020 class domVcount; 00021 00022 typedef daeSmartRef<domVcount> domVcountRef; 00023 typedef daeTArray<domVcountRef> domVcount_Array; 00024 00025 class domVcount : public daeElement 00026 { 00027 public: 00028 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VCOUNT; } 00029 static daeInt ID() { return 323; } 00030 virtual daeInt typeID() const { return ID(); } 00031 00032 00033 public: //Accessors and Mutators 00038 domList_of_uints& getValue() { return _value; } 00043 void setValue( const domList_of_uints& val ) { _value = val; } 00044 00045 protected: // Value 00049 domList_of_uints _value; 00050 protected: 00054 domVcount(DAE& dae) : daeElement(dae), _value() {} 00058 virtual ~domVcount() {} 00062 virtual domVcount &operator=( const domVcount &cpy ) { (void)cpy; return *this; } 00063 00064 public: // STATIC METHODS 00069 static DLLSPEC daeElementRef create(DAE& dae); 00075 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00076 }; 00077 00078 00079 protected: // Attributes 00080 xsID attrId; 00081 xsToken attrName; 00082 domUint attrCount; 00083 00084 protected: // Elements 00089 domInput_local_offset_Array elemInput_array; 00090 domVcountRef elemVcount; 00091 domPRef elemP; 00092 domExtra_Array elemExtra_array; 00093 00094 public: //Accessors and Mutators 00099 xsID getId() const { return attrId; } 00104 void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; 00105 if( _document != NULL ) _document->changeElementID( this, attrId ); 00106 } 00107 00112 xsToken getName() const { return attrName; } 00117 void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;} 00118 00123 domUint getCount() const { return attrCount; } 00128 void setCount( domUint atCount ) { attrCount = atCount; } 00129 00134 domInput_local_offset_Array &getInput_array() { return elemInput_array; } 00139 const domInput_local_offset_Array &getInput_array() const { return elemInput_array; } 00144 const domVcountRef getVcount() const { return elemVcount; } 00149 const domPRef getP() const { return elemP; } 00154 domExtra_Array &getExtra_array() { return elemExtra_array; } 00159 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00160 protected: 00164 domPcurves(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), elemInput_array(), elemVcount(), elemP(), elemExtra_array() {} 00168 virtual ~domPcurves() {} 00172 virtual domPcurves &operator=( const domPcurves &cpy ) { (void)cpy; return *this; } 00173 00174 public: // STATIC METHODS 00179 static DLLSPEC daeElementRef create(DAE& dae); 00185 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00186 }; 00187 00188 00189 #endif