00001 /* 00002 * Copyright 2006 Sony Computer Entertainment Inc. 00003 * 00004 * Licensed under the MIT Open Source License, for details please see license.txt or the website 00005 * http://www.opensource.org/licenses/mit-license.php 00006 * 00007 */ 00008 00009 #ifndef __domPolylist_h__ 00010 #define __domPolylist_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 #include <dom/domP.h> 00017 #include <dom/domExtra.h> 00018 #include <dom/domInputLocalOffset.h> 00019 class DAE; 00020 00028 class domPolylist : public daeElement 00029 { 00030 public: 00031 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYLIST; } 00032 static daeInt ID() { return 623; } 00033 virtual daeInt typeID() const { return ID(); } 00034 public: 00035 class domVcount; 00036 00037 typedef daeSmartRef<domVcount> domVcountRef; 00038 typedef daeTArray<domVcountRef> domVcount_Array; 00039 00045 class domVcount : public daeElement 00046 { 00047 public: 00048 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VCOUNT; } 00049 static daeInt ID() { return 624; } 00050 virtual daeInt typeID() const { return ID(); } 00051 00052 protected: // Value 00056 domListOfUInts _value; 00057 00058 public: //Accessors and Mutators 00063 domListOfUInts &getValue() { return _value; } 00068 const domListOfUInts &getValue() const { return _value; } 00073 void setValue( const domListOfUInts &val ) { _value = val; } 00074 00075 protected: 00079 domVcount(DAE& dae) : daeElement(dae), _value() {} 00083 virtual ~domVcount() {} 00087 virtual domVcount &operator=( const domVcount &cpy ) { (void)cpy; return *this; } 00088 00089 public: // STATIC METHODS 00094 static DLLSPEC daeElementRef create(DAE& dae); 00100 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00101 }; 00102 00103 00104 protected: // Attributes 00108 xsNCName attrName; 00113 domUint attrCount; 00120 xsNCName attrMaterial; 00121 00122 protected: // Elements 00127 domInputLocalOffset_Array elemInput_array; 00133 domVcountRef elemVcount; 00137 domPRef elemP; 00141 domExtra_Array elemExtra_array; 00142 00143 public: //Accessors and Mutators 00148 xsNCName getName() const { return attrName; } 00153 void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[0] = true; } 00154 00159 domUint getCount() const { return attrCount; } 00164 void setCount( domUint atCount ) { attrCount = atCount; _validAttributeArray[1] = true; } 00165 00170 xsNCName getMaterial() const { return attrMaterial; } 00175 void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial; _validAttributeArray[2] = true; } 00176 00181 domInputLocalOffset_Array &getInput_array() { return elemInput_array; } 00186 const domInputLocalOffset_Array &getInput_array() const { return elemInput_array; } 00191 const domVcountRef getVcount() const { return elemVcount; } 00196 const domPRef getP() const { return elemP; } 00201 domExtra_Array &getExtra_array() { return elemExtra_array; } 00206 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00207 protected: 00211 domPolylist(DAE& dae) : daeElement(dae), attrName(), attrCount(), attrMaterial(), elemInput_array(), elemVcount(), elemP(), elemExtra_array() {} 00215 virtual ~domPolylist() {} 00219 virtual domPolylist &operator=( const domPolylist &cpy ) { (void)cpy; return *this; } 00220 00221 public: // STATIC METHODS 00226 static DLLSPEC daeElementRef create(DAE& dae); 00232 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00233 }; 00234 00235 00236 #endif