00001 #ifndef __domFaces_h__ 00002 #define __domFaces_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 00016 class domFaces : public daeElement 00017 { 00018 public: 00019 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FACES; } 00020 static daeInt ID() { return 303; } 00021 virtual daeInt typeID() const { return ID(); } 00022 public: 00023 class domVcount; 00024 00025 typedef daeSmartRef<domVcount> domVcountRef; 00026 typedef daeTArray<domVcountRef> domVcount_Array; 00027 00028 class domVcount : public daeElement 00029 { 00030 public: 00031 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VCOUNT; } 00032 static daeInt ID() { return 304; } 00033 virtual daeInt typeID() const { return ID(); } 00034 00035 00036 public: //Accessors and Mutators 00041 domList_of_uints& getValue() { return _value; } 00046 void setValue( const domList_of_uints& val ) { _value = val; } 00047 00048 protected: // Value 00052 domList_of_uints _value; 00053 protected: 00057 domVcount(DAE& dae) : daeElement(dae), _value() {} 00061 virtual ~domVcount() {} 00065 virtual domVcount &operator=( const domVcount &cpy ) { (void)cpy; return *this; } 00066 00067 public: // STATIC METHODS 00072 static DLLSPEC daeElementRef create(DAE& dae); 00078 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00079 }; 00080 00081 00082 protected: // Attributes 00083 xsID attrId; 00084 xsToken attrName; 00085 domUint attrCount; 00086 00087 protected: // Elements 00093 domInput_local_offset_Array elemInput_array; 00094 domVcountRef elemVcount; 00098 domPRef elemP; 00099 domExtra_Array elemExtra_array; 00100 00101 public: //Accessors and Mutators 00106 xsID getId() const { return attrId; } 00111 void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; 00112 if( _document != NULL ) _document->changeElementID( this, attrId ); 00113 } 00114 00119 xsToken getName() const { return attrName; } 00124 void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;} 00125 00130 domUint getCount() const { return attrCount; } 00135 void setCount( domUint atCount ) { attrCount = atCount; } 00136 00141 domInput_local_offset_Array &getInput_array() { return elemInput_array; } 00146 const domInput_local_offset_Array &getInput_array() const { return elemInput_array; } 00151 const domVcountRef getVcount() const { return elemVcount; } 00156 const domPRef getP() const { return elemP; } 00161 domExtra_Array &getExtra_array() { return elemExtra_array; } 00166 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00167 protected: 00171 domFaces(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), elemInput_array(), elemVcount(), elemP(), elemExtra_array() {} 00175 virtual ~domFaces() {} 00179 virtual domFaces &operator=( const domFaces &cpy ) { (void)cpy; return *this; } 00180 00181 public: // STATIC METHODS 00186 static DLLSPEC daeElementRef create(DAE& dae); 00192 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00193 }; 00194 00195 00196 #endif