00001 #ifndef __domInstance_geometry_h__ 00002 #define __domInstance_geometry_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domBind_material.h> 00009 #include <dom/domExtra.h> 00010 class DAE; 00011 00016 class domInstance_geometry : public daeElement 00017 { 00018 public: 00019 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_GEOMETRY; } 00020 static daeInt ID() { return 110; } 00021 virtual daeInt typeID() const { return ID(); } 00022 protected: // Attributes 00029 xsAnyURI attrUrl; 00035 domSid attrSid; 00039 xsToken attrName; 00040 00041 protected: // Elements 00046 domBind_materialRef elemBind_material; 00050 domExtra_Array elemExtra_array; 00051 00052 public: //Accessors and Mutators 00057 xsAnyURI &getUrl() { return attrUrl; } 00062 const xsAnyURI &getUrl() const { return attrUrl; } 00067 void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; } 00072 void setUrl( xsString atUrl ) { attrUrl = atUrl; } 00073 00078 domSid getSid() const { return attrSid; } 00083 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;} 00084 00089 xsToken getName() const { return attrName; } 00094 void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;} 00095 00100 const domBind_materialRef getBind_material() const { return elemBind_material; } 00105 domExtra_Array &getExtra_array() { return elemExtra_array; } 00110 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00111 protected: 00115 domInstance_geometry(DAE& dae) : daeElement(dae), attrUrl(dae, *this), attrSid(), attrName(), elemBind_material(), elemExtra_array() {} 00119 virtual ~domInstance_geometry() {} 00123 virtual domInstance_geometry &operator=( const domInstance_geometry &cpy ) { (void)cpy; return *this; } 00124 00125 public: // STATIC METHODS 00130 static DLLSPEC daeElementRef create(DAE& dae); 00136 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00137 }; 00138 00139 00140 #endif