00001 #ifndef __domInstance_material_h__ 00002 #define __domInstance_material_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domExtra.h> 00009 class DAE; 00010 00015 class domInstance_material : public daeElement 00016 { 00017 public: 00018 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_MATERIAL; } 00019 static daeInt ID() { return 103; } 00020 virtual daeInt typeID() const { return ID(); } 00021 public: 00022 class domBind; 00023 00024 typedef daeSmartRef<domBind> domBindRef; 00025 typedef daeTArray<domBindRef> domBind_Array; 00026 00030 class domBind : public daeElement 00031 { 00032 public: 00033 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND; } 00034 static daeInt ID() { return 104; } 00035 virtual daeInt typeID() const { return ID(); } 00036 protected: // Attributes 00040 xsNCName attrSemantic; 00046 xsToken attrTarget; 00047 00048 00049 public: //Accessors and Mutators 00054 xsNCName getSemantic() const { return attrSemantic; } 00059 void setSemantic( xsNCName atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; _validAttributeArray[0] = true; } 00060 00065 xsToken getTarget() const { return attrTarget; } 00070 void setTarget( xsToken atTarget ) { *(daeStringRef*)&attrTarget = atTarget; _validAttributeArray[1] = true; } 00071 00072 protected: 00076 domBind(DAE& dae) : daeElement(dae), attrSemantic(), attrTarget() {} 00080 virtual ~domBind() {} 00084 virtual domBind &operator=( const domBind &cpy ) { (void)cpy; return *this; } 00085 00086 public: // STATIC METHODS 00091 static DLLSPEC daeElementRef create(DAE& dae); 00097 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00098 }; 00099 00100 class domBind_vertex_input; 00101 00102 typedef daeSmartRef<domBind_vertex_input> domBind_vertex_inputRef; 00103 typedef daeTArray<domBind_vertex_inputRef> domBind_vertex_input_Array; 00104 00109 class domBind_vertex_input : public daeElement 00110 { 00111 public: 00112 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND_VERTEX_INPUT; } 00113 static daeInt ID() { return 105; } 00114 virtual daeInt typeID() const { return ID(); } 00115 protected: // Attributes 00119 xsNCName attrSemantic; 00123 xsNCName attrInput_semantic; 00127 domUint attrInput_set; 00128 00129 00130 public: //Accessors and Mutators 00135 xsNCName getSemantic() const { return attrSemantic; } 00140 void setSemantic( xsNCName atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; _validAttributeArray[0] = true; } 00141 00146 xsNCName getInput_semantic() const { return attrInput_semantic; } 00151 void setInput_semantic( xsNCName atInput_semantic ) { *(daeStringRef*)&attrInput_semantic = atInput_semantic; _validAttributeArray[1] = true; } 00152 00157 domUint getInput_set() const { return attrInput_set; } 00162 void setInput_set( domUint atInput_set ) { attrInput_set = atInput_set; _validAttributeArray[2] = true; } 00163 00164 protected: 00168 domBind_vertex_input(DAE& dae) : daeElement(dae), attrSemantic(), attrInput_semantic(), attrInput_set() {} 00172 virtual ~domBind_vertex_input() {} 00176 virtual domBind_vertex_input &operator=( const domBind_vertex_input &cpy ) { (void)cpy; return *this; } 00177 00178 public: // STATIC METHODS 00183 static DLLSPEC daeElementRef create(DAE& dae); 00189 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00190 }; 00191 00192 00193 protected: // Attributes 00198 xsNCName attrSymbol; 00203 xsAnyURI attrTarget; 00209 domSid attrSid; 00213 xsToken attrName; 00214 00215 protected: // Elements 00220 domBind_Array elemBind_array; 00225 domBind_vertex_input_Array elemBind_vertex_input_array; 00229 domExtra_Array elemExtra_array; 00230 00231 public: //Accessors and Mutators 00236 xsNCName getSymbol() const { return attrSymbol; } 00241 void setSymbol( xsNCName atSymbol ) { *(daeStringRef*)&attrSymbol = atSymbol;} 00242 00247 xsAnyURI &getTarget() { return attrTarget; } 00252 const xsAnyURI &getTarget() const { return attrTarget; } 00257 void setTarget( const xsAnyURI &atTarget ) { attrTarget = atTarget; } 00262 void setTarget( xsString atTarget ) { attrTarget = atTarget; } 00263 00268 domSid getSid() const { return attrSid; } 00273 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;} 00274 00279 xsToken getName() const { return attrName; } 00284 void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;} 00285 00290 domBind_Array &getBind_array() { return elemBind_array; } 00295 const domBind_Array &getBind_array() const { return elemBind_array; } 00300 domBind_vertex_input_Array &getBind_vertex_input_array() { return elemBind_vertex_input_array; } 00305 const domBind_vertex_input_Array &getBind_vertex_input_array() const { return elemBind_vertex_input_array; } 00310 domExtra_Array &getExtra_array() { return elemExtra_array; } 00315 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00316 protected: 00320 domInstance_material(DAE& dae) : daeElement(dae), attrSymbol(), attrTarget(dae, *this), attrSid(), attrName(), elemBind_array(), elemBind_vertex_input_array(), elemExtra_array() {} 00324 virtual ~domInstance_material() {} 00328 virtual domInstance_material &operator=( const domInstance_material &cpy ) { (void)cpy; return *this; } 00329 00330 public: // STATIC METHODS 00335 static DLLSPEC daeElementRef create(DAE& dae); 00341 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00342 }; 00343 00344 00345 #endif