00001 #ifndef __domSpline_h__ 00002 #define __domSpline_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 00017 class domSpline : public daeElement 00018 { 00019 public: 00020 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SPLINE; } 00021 static daeInt ID() { return 337; } 00022 virtual daeInt typeID() const { return ID(); } 00023 public: 00024 class domControl_vertices; 00025 00026 typedef daeSmartRef<domControl_vertices> domControl_verticesRef; 00027 typedef daeTArray<domControl_verticesRef> domControl_vertices_Array; 00028 00033 class domControl_vertices : public daeElement 00034 { 00035 public: 00036 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONTROL_VERTICES; } 00037 static daeInt ID() { return 338; } 00038 virtual daeInt typeID() const { return ID(); } 00039 00040 protected: // Elements 00045 domInput_local_Array elemInput_array; 00049 domExtra_Array elemExtra_array; 00050 00051 public: //Accessors and Mutators 00056 domInput_local_Array &getInput_array() { return elemInput_array; } 00061 const domInput_local_Array &getInput_array() const { return elemInput_array; } 00066 domExtra_Array &getExtra_array() { return elemExtra_array; } 00071 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00072 protected: 00076 domControl_vertices(DAE& dae) : daeElement(dae), elemInput_array(), elemExtra_array() {} 00080 virtual ~domControl_vertices() {} 00084 virtual domControl_vertices &operator=( const domControl_vertices &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 00101 protected: // Attribute 00102 xsBoolean attrClosed; 00103 00104 protected: // Elements 00108 domSource_Array elemSource_array; 00113 domControl_verticesRef elemControl_vertices; 00117 domExtra_Array elemExtra_array; 00118 00119 public: //Accessors and Mutators 00124 xsBoolean getClosed() const { return attrClosed; } 00129 void setClosed( xsBoolean atClosed ) { attrClosed = atClosed; } 00130 00135 domSource_Array &getSource_array() { return elemSource_array; } 00140 const domSource_Array &getSource_array() const { return elemSource_array; } 00145 const domControl_verticesRef getControl_vertices() const { return elemControl_vertices; } 00150 domExtra_Array &getExtra_array() { return elemExtra_array; } 00155 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00156 protected: 00160 domSpline(DAE& dae) : daeElement(dae), attrClosed(), elemSource_array(), elemControl_vertices(), elemExtra_array() {} 00164 virtual ~domSpline() {} 00168 virtual domSpline &operator=( const domSpline &cpy ) { (void)cpy; return *this; } 00169 00170 public: // STATIC METHODS 00175 static DLLSPEC daeElementRef create(DAE& dae); 00181 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00182 }; 00183 00184 00185 #endif