00001 #ifndef __domCommon_float_or_param_h__ 00002 #define __domCommon_float_or_param_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domCommon_param.h> 00009 class DAE; 00010 00011 class domCommon_float_or_param : public daeElement 00012 { 00013 public: 00014 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMMON_FLOAT_OR_PARAM; } 00015 static daeInt ID() { return 427; } 00016 virtual daeInt typeID() const { return ID(); } 00017 public: 00018 class domFloat; 00019 00020 typedef daeSmartRef<domFloat> domFloatRef; 00021 typedef daeTArray<domFloatRef> domFloat_Array; 00022 00023 class domFloat : public daeElement 00024 { 00025 public: 00026 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; } 00027 static daeInt ID() { return 428; } 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 domFloat(DAE& dae) : daeElement(dae), _value() {} 00056 virtual ~domFloat() {} 00060 virtual domFloat &operator=( const domFloat &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 00077 00078 protected: // Elements 00079 domFloatRef elemFloat; 00080 domCommon_paramRef elemParam; 00084 daeElementRefArray _contents; 00088 daeUIntArray _contentsOrder; 00089 00093 daeTArray< daeCharArray * > _CMData; 00094 00095 00096 public: //Accessors and Mutators 00101 const domFloatRef getFloat() const { return elemFloat; } 00106 const domCommon_paramRef getParam() const { return elemParam; } 00111 daeElementRefArray &getContents() { return _contents; } 00116 const daeElementRefArray &getContents() const { return _contents; } 00117 00118 protected: 00122 domCommon_float_or_param(DAE& dae) : daeElement(dae), elemFloat(), elemParam() {} 00126 virtual ~domCommon_float_or_param() { daeElement::deleteCMDataArray(_CMData); } 00130 virtual domCommon_float_or_param &operator=( const domCommon_float_or_param &cpy ) { (void)cpy; return *this; } 00131 00132 public: // STATIC METHODS 00137 static DLLSPEC daeElementRef create(DAE& dae); 00143 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00144 }; 00145 00146 00147 #endif