00001 #ifndef __domPolylist_h__ 00002 #define __domPolylist_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 00020 class domPolylist : public daeElement 00021 { 00022 public: 00023 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYLIST; } 00024 static daeInt ID() { return 27; } 00025 virtual daeInt typeID() const { return ID(); } 00026 public: 00027 class domVcount; 00028 00029 typedef daeSmartRef<domVcount> domVcountRef; 00030 typedef daeTArray<domVcountRef> domVcount_Array; 00031 00037 class domVcount : public daeElement 00038 { 00039 public: 00040 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VCOUNT; } 00041 static daeInt ID() { return 28; } 00042 virtual daeInt typeID() const { return ID(); } 00043 00044 00045 public: //Accessors and Mutators 00050 domList_of_uints& getValue() { return _value; } 00055 void setValue( const domList_of_uints& val ) { _value = val; } 00056 00057 protected: // Value 00061 domList_of_uints _value; 00062 protected: 00066 domVcount(DAE& dae) : daeElement(dae), _value() {} 00070 virtual ~domVcount() {} 00074 virtual domVcount &operator=( const domVcount &cpy ) { (void)cpy; return *this; } 00075 00076 public: // STATIC METHODS 00081 static DLLSPEC daeElementRef create(DAE& dae); 00087 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00088 }; 00089 00090 00091 protected: // Attributes 00095 xsToken attrName; 00100 domUint attrCount; 00107 xsNCName attrMaterial; 00108 00109 protected: // Elements 00114 domInput_local_offset_Array elemInput_array; 00120 domVcountRef elemVcount; 00124 domPRef elemP; 00128 domExtra_Array elemExtra_array; 00129 00130 public: //Accessors and Mutators 00135 xsToken getName() const { return attrName; } 00140 void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;} 00141 00146 domUint getCount() const { return attrCount; } 00151 void setCount( domUint atCount ) { attrCount = atCount; } 00152 00157 xsNCName getMaterial() const { return attrMaterial; } 00162 void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial;} 00163 00168 domInput_local_offset_Array &getInput_array() { return elemInput_array; } 00173 const domInput_local_offset_Array &getInput_array() const { return elemInput_array; } 00178 const domVcountRef getVcount() const { return elemVcount; } 00183 const domPRef getP() const { return elemP; } 00188 domExtra_Array &getExtra_array() { return elemExtra_array; } 00193 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00194 protected: 00198 domPolylist(DAE& dae) : daeElement(dae), attrName(), attrCount(), attrMaterial(), elemInput_array(), elemVcount(), elemP(), elemExtra_array() {} 00202 virtual ~domPolylist() {} 00206 virtual domPolylist &operator=( const domPolylist &cpy ) { (void)cpy; return *this; } 00207 00208 public: // STATIC METHODS 00213 static DLLSPEC daeElementRef create(DAE& dae); 00219 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00220 }; 00221 00222 00223 #endif