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 __domInstance_geometry_h__ 00010 #define __domInstance_geometry_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 #include <dom/domBind_material.h> 00017 #include <dom/domExtra.h> 00018 class DAE; 00019 00024 class domInstance_geometry : public daeElement 00025 { 00026 public: 00027 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_GEOMETRY; } 00028 static daeInt ID() { return 695; } 00029 virtual daeInt typeID() const { return ID(); } 00030 protected: // Attributes 00037 xsAnyURI attrUrl; 00043 xsNCName attrSid; 00047 xsNCName attrName; 00048 00049 protected: // Elements 00054 domBind_materialRef elemBind_material; 00058 domExtra_Array elemExtra_array; 00059 00060 public: //Accessors and Mutators 00065 xsAnyURI &getUrl() { return attrUrl; } 00070 const xsAnyURI &getUrl() const { return attrUrl; } 00075 void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; } 00080 void setUrl( xsString atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; } 00081 00086 xsNCName getSid() const { return attrSid; } 00091 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; } 00092 00097 xsNCName getName() const { return attrName; } 00102 void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[2] = true; } 00103 00108 const domBind_materialRef getBind_material() const { return elemBind_material; } 00113 domExtra_Array &getExtra_array() { return elemExtra_array; } 00118 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00119 protected: 00123 domInstance_geometry(DAE& dae) : daeElement(dae), attrUrl(dae, *this), attrSid(), attrName(), elemBind_material(), elemExtra_array() {} 00127 virtual ~domInstance_geometry() {} 00131 virtual domInstance_geometry &operator=( const domInstance_geometry &cpy ) { (void)cpy; return *this; } 00132 00133 public: // STATIC METHODS 00138 static DLLSPEC daeElementRef create(DAE& dae); 00144 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00145 }; 00146 00147 00148 #endif