00001 #ifndef __domWires_h__ 00002 #define __domWires_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 domWires : public daeElement 00017 { 00018 public: 00019 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WIRES; } 00020 static daeInt ID() { return 301; } 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 302; } 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 00092 domInput_local_offset_Array elemInput_array; 00093 domVcountRef elemVcount; 00097 domPRef elemP; 00098 domExtra_Array elemExtra_array; 00099 00100 public: //Accessors and Mutators 00105 xsID getId() const { return attrId; } 00110 void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; 00111 if( _document != NULL ) _document->changeElementID( this, attrId ); 00112 } 00113 00118 xsToken getName() const { return attrName; } 00123 void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;} 00124 00129 domUint getCount() const { return attrCount; } 00134 void setCount( domUint atCount ) { attrCount = atCount; } 00135 00140 domInput_local_offset_Array &getInput_array() { return elemInput_array; } 00145 const domInput_local_offset_Array &getInput_array() const { return elemInput_array; } 00150 const domVcountRef getVcount() const { return elemVcount; } 00155 const domPRef getP() const { return elemP; } 00160 domExtra_Array &getExtra_array() { return elemExtra_array; } 00165 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00166 protected: 00170 domWires(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), elemInput_array(), elemVcount(), elemP(), elemExtra_array() {} 00174 virtual ~domWires() {} 00178 virtual domWires &operator=( const domWires &cpy ) { (void)cpy; return *this; } 00179 00180 public: // STATIC METHODS 00185 static DLLSPEC daeElementRef create(DAE& dae); 00191 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00192 }; 00193 00194 00195 #endif