00001 #ifndef __domCone_h__ 00002 #define __domCone_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domExtra.h> 00009 class DAE; 00010 00011 class domCone : public daeElement 00012 { 00013 public: 00014 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONE; } 00015 static daeInt ID() { return 356; } 00016 virtual daeInt typeID() const { return ID(); } 00017 public: 00018 class domRadius; 00019 00020 typedef daeSmartRef<domRadius> domRadiusRef; 00021 typedef daeTArray<domRadiusRef> domRadius_Array; 00022 00023 class domRadius : public daeElement 00024 { 00025 public: 00026 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS; } 00027 static daeInt ID() { return 357; } 00028 virtual daeInt typeID() const { return ID(); } 00029 00030 00031 public: //Accessors and Mutators 00036 domFloat& getValue() { return _value; } 00041 void setValue( const domFloat& val ) { _value = val; } 00042 00043 protected: // Value 00047 domFloat _value; 00048 protected: 00052 domRadius(DAE& dae) : daeElement(dae), _value() {} 00056 virtual ~domRadius() {} 00060 virtual domRadius &operator=( const domRadius &cpy ) { (void)cpy; return *this; } 00061 00062 public: // STATIC METHODS 00067 static DLLSPEC daeElementRef create(DAE& dae); 00073 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00074 }; 00075 00076 class domAngle; 00077 00078 typedef daeSmartRef<domAngle> domAngleRef; 00079 typedef daeTArray<domAngleRef> domAngle_Array; 00080 00081 class domAngle : public daeElement 00082 { 00083 public: 00084 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ANGLE; } 00085 static daeInt ID() { return 358; } 00086 virtual daeInt typeID() const { return ID(); } 00087 00088 00089 public: //Accessors and Mutators 00094 xsFloat& getValue() { return _value; } 00099 void setValue( const xsFloat& val ) { _value = val; } 00100 00101 protected: // Value 00105 xsFloat _value; 00106 protected: 00110 domAngle(DAE& dae) : daeElement(dae), _value() {} 00114 virtual ~domAngle() {} 00118 virtual domAngle &operator=( const domAngle &cpy ) { (void)cpy; return *this; } 00119 00120 public: // STATIC METHODS 00125 static DLLSPEC daeElementRef create(DAE& dae); 00131 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00132 }; 00133 00134 00135 00136 protected: // Elements 00137 domRadiusRef elemRadius; 00138 domAngleRef elemAngle; 00139 domExtra_Array elemExtra_array; 00140 00141 public: //Accessors and Mutators 00146 const domRadiusRef getRadius() const { return elemRadius; } 00151 const domAngleRef getAngle() const { return elemAngle; } 00156 domExtra_Array &getExtra_array() { return elemExtra_array; } 00161 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00162 protected: 00166 domCone(DAE& dae) : daeElement(dae), elemRadius(), elemAngle(), elemExtra_array() {} 00170 virtual ~domCone() {} 00174 virtual domCone &operator=( const domCone &cpy ) { (void)cpy; return *this; } 00175 00176 public: // STATIC METHODS 00181 static DLLSPEC daeElementRef create(DAE& dae); 00187 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00188 }; 00189 00190 00191 #endif