00001 #ifndef __domNurbs_h__ 00002 #define __domNurbs_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domSource.h> 00009 #include <dom/domInput_local.h> 00010 #include <dom/domExtra.h> 00011 class DAE; 00012 00013 class domNurbs : public daeElement 00014 { 00015 public: 00016 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NURBS; } 00017 static daeInt ID() { return 341; } 00018 virtual daeInt typeID() const { return ID(); } 00019 public: 00020 class domControl_vertices; 00021 00022 typedef daeSmartRef<domControl_vertices> domControl_verticesRef; 00023 typedef daeTArray<domControl_verticesRef> domControl_vertices_Array; 00024 00029 class domControl_vertices : public daeElement 00030 { 00031 public: 00032 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONTROL_VERTICES; } 00033 static daeInt ID() { return 342; } 00034 virtual daeInt typeID() const { return ID(); } 00035 00036 protected: // Elements 00041 domInput_local_Array elemInput_array; 00045 domExtra_Array elemExtra_array; 00046 00047 public: //Accessors and Mutators 00052 domInput_local_Array &getInput_array() { return elemInput_array; } 00057 const domInput_local_Array &getInput_array() const { return elemInput_array; } 00062 domExtra_Array &getExtra_array() { return elemExtra_array; } 00067 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00068 protected: 00072 domControl_vertices(DAE& dae) : daeElement(dae), elemInput_array(), elemExtra_array() {} 00076 virtual ~domControl_vertices() {} 00080 virtual domControl_vertices &operator=( const domControl_vertices &cpy ) { (void)cpy; return *this; } 00081 00082 public: // STATIC METHODS 00087 static DLLSPEC daeElementRef create(DAE& dae); 00093 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00094 }; 00095 00096 00097 protected: // Attributes 00098 domUint attrDegree; 00099 xsBoolean attrClosed; 00100 00101 protected: // Elements 00102 domSource_Array elemSource_array; 00107 domControl_verticesRef elemControl_vertices; 00108 domExtra_Array elemExtra_array; 00109 00110 public: //Accessors and Mutators 00115 domUint getDegree() const { return attrDegree; } 00120 void setDegree( domUint atDegree ) { attrDegree = atDegree; } 00121 00126 xsBoolean getClosed() const { return attrClosed; } 00131 void setClosed( xsBoolean atClosed ) { attrClosed = atClosed; } 00132 00137 domSource_Array &getSource_array() { return elemSource_array; } 00142 const domSource_Array &getSource_array() const { return elemSource_array; } 00147 const domControl_verticesRef getControl_vertices() const { return elemControl_vertices; } 00152 domExtra_Array &getExtra_array() { return elemExtra_array; } 00157 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00158 protected: 00162 domNurbs(DAE& dae) : daeElement(dae), attrDegree(), attrClosed(), elemSource_array(), elemControl_vertices(), elemExtra_array() {} 00166 virtual ~domNurbs() {} 00170 virtual domNurbs &operator=( const domNurbs &cpy ) { (void)cpy; return *this; } 00171 00172 public: // STATIC METHODS 00177 static DLLSPEC daeElementRef create(DAE& dae); 00183 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00184 }; 00185 00186 00187 #endif