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 __domSpline_h__ 00010 #define __domSpline_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 #include <dom/domSource.h> 00017 #include <dom/domExtra.h> 00018 #include <dom/domInputLocal.h> 00019 class DAE; 00020 00025 class domSpline : public daeElement 00026 { 00027 public: 00028 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SPLINE; } 00029 static daeInt ID() { return 615; } 00030 virtual daeInt typeID() const { return ID(); } 00031 public: 00032 class domControl_vertices; 00033 00034 typedef daeSmartRef<domControl_vertices> domControl_verticesRef; 00035 typedef daeTArray<domControl_verticesRef> domControl_vertices_Array; 00036 00041 class domControl_vertices : public daeElement 00042 { 00043 public: 00044 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONTROL_VERTICES; } 00045 static daeInt ID() { return 616; } 00046 virtual daeInt typeID() const { return ID(); } 00047 00048 protected: // Elements 00053 domInputLocal_Array elemInput_array; 00057 domExtra_Array elemExtra_array; 00058 00059 public: //Accessors and Mutators 00064 domInputLocal_Array &getInput_array() { return elemInput_array; } 00069 const domInputLocal_Array &getInput_array() const { return elemInput_array; } 00074 domExtra_Array &getExtra_array() { return elemExtra_array; } 00079 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00080 protected: 00084 domControl_vertices(DAE& dae) : daeElement(dae), elemInput_array(), elemExtra_array() {} 00088 virtual ~domControl_vertices() {} 00092 virtual domControl_vertices &operator=( const domControl_vertices &cpy ) { (void)cpy; return *this; } 00093 00094 public: // STATIC METHODS 00099 static DLLSPEC daeElementRef create(DAE& dae); 00105 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00106 }; 00107 00108 00109 protected: // Attribute 00110 domBool attrClosed; 00111 00112 protected: // Elements 00116 domSource_Array elemSource_array; 00121 domControl_verticesRef elemControl_vertices; 00125 domExtra_Array elemExtra_array; 00126 00127 public: //Accessors and Mutators 00132 domBool getClosed() const { return attrClosed; } 00137 void setClosed( domBool atClosed ) { attrClosed = atClosed; _validAttributeArray[0] = true; } 00138 00143 domSource_Array &getSource_array() { return elemSource_array; } 00148 const domSource_Array &getSource_array() const { return elemSource_array; } 00153 const domControl_verticesRef getControl_vertices() const { return elemControl_vertices; } 00158 domExtra_Array &getExtra_array() { return elemExtra_array; } 00163 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00164 protected: 00168 domSpline(DAE& dae) : daeElement(dae), attrClosed(), elemSource_array(), elemControl_vertices(), elemExtra_array() {} 00172 virtual ~domSpline() {} 00176 virtual domSpline &operator=( const domSpline &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 #endif