00001 #ifndef __domCapsule_h__ 00002 #define __domCapsule_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 00014 class domCapsule : public daeElement 00015 { 00016 public: 00017 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CAPSULE; } 00018 static daeInt ID() { return 292; } 00019 virtual daeInt typeID() const { return ID(); } 00020 public: 00021 class domHeight; 00022 00023 typedef daeSmartRef<domHeight> domHeightRef; 00024 typedef daeTArray<domHeightRef> domHeight_Array; 00025 00030 class domHeight : public daeElement 00031 { 00032 public: 00033 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HEIGHT; } 00034 static daeInt ID() { return 293; } 00035 virtual daeInt typeID() const { return ID(); } 00036 00037 00038 public: //Accessors and Mutators 00043 domFloat& getValue() { return _value; } 00048 void setValue( const domFloat& val ) { _value = val; } 00049 00050 protected: // Value 00054 domFloat _value; 00055 protected: 00059 domHeight(DAE& dae) : daeElement(dae), _value() {} 00063 virtual ~domHeight() {} 00067 virtual domHeight &operator=( const domHeight &cpy ) { (void)cpy; return *this; } 00068 00069 public: // STATIC METHODS 00074 static DLLSPEC daeElementRef create(DAE& dae); 00080 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00081 }; 00082 00083 class domRadius; 00084 00085 typedef daeSmartRef<domRadius> domRadiusRef; 00086 typedef daeTArray<domRadiusRef> domRadius_Array; 00087 00091 class domRadius : public daeElement 00092 { 00093 public: 00094 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS; } 00095 static daeInt ID() { return 294; } 00096 virtual daeInt typeID() const { return ID(); } 00097 00098 00099 public: //Accessors and Mutators 00104 domFloat3& getValue() { return _value; } 00109 void setValue( const domFloat3& val ) { _value = val; } 00110 00111 protected: // Value 00115 domFloat3 _value; 00116 protected: 00120 domRadius(DAE& dae) : daeElement(dae), _value() {} 00124 virtual ~domRadius() {} 00128 virtual domRadius &operator=( const domRadius &cpy ) { (void)cpy; return *this; } 00129 00130 public: // STATIC METHODS 00135 static DLLSPEC daeElementRef create(DAE& dae); 00141 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00142 }; 00143 00144 00145 00146 protected: // Elements 00151 domHeightRef elemHeight; 00156 domRadiusRef elemRadius; 00160 domExtra_Array elemExtra_array; 00161 00162 public: //Accessors and Mutators 00167 const domHeightRef getHeight() const { return elemHeight; } 00172 const domRadiusRef getRadius() const { return elemRadius; } 00177 domExtra_Array &getExtra_array() { return elemExtra_array; } 00182 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00183 protected: 00187 domCapsule(DAE& dae) : daeElement(dae), elemHeight(), elemRadius(), elemExtra_array() {} 00191 virtual ~domCapsule() {} 00195 virtual domCapsule &operator=( const domCapsule &cpy ) { (void)cpy; return *this; } 00196 00197 public: // STATIC METHODS 00202 static DLLSPEC daeElementRef create(DAE& dae); 00208 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00209 }; 00210 00211 00212 #endif