00001 #ifndef __domLine_h__ 00002 #define __domLine_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 00019 class domLine : public daeElement 00020 { 00021 public: 00022 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINE; } 00023 static daeInt ID() { return 309; } 00024 virtual daeInt typeID() const { return ID(); } 00025 public: 00026 class domOrigin; 00027 00028 typedef daeSmartRef<domOrigin> domOriginRef; 00029 typedef daeTArray<domOriginRef> domOrigin_Array; 00030 00031 class domOrigin : public daeElement 00032 { 00033 public: 00034 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ORIGIN; } 00035 static daeInt ID() { return 310; } 00036 virtual daeInt typeID() const { return ID(); } 00037 00038 00039 public: //Accessors and Mutators 00044 domFloat3& getValue() { return _value; } 00049 void setValue( const domFloat3& val ) { _value = val; } 00050 00051 protected: // Value 00055 domFloat3 _value; 00056 protected: 00060 domOrigin(DAE& dae) : daeElement(dae), _value() {} 00064 virtual ~domOrigin() {} 00068 virtual domOrigin &operator=( const domOrigin &cpy ) { (void)cpy; return *this; } 00069 00070 public: // STATIC METHODS 00075 static DLLSPEC daeElementRef create(DAE& dae); 00081 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00082 }; 00083 00084 class domDirection; 00085 00086 typedef daeSmartRef<domDirection> domDirectionRef; 00087 typedef daeTArray<domDirectionRef> domDirection_Array; 00088 00089 class domDirection : public daeElement 00090 { 00091 public: 00092 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DIRECTION; } 00093 static daeInt ID() { return 311; } 00094 virtual daeInt typeID() const { return ID(); } 00095 00096 00097 public: //Accessors and Mutators 00102 domFloat3& getValue() { return _value; } 00107 void setValue( const domFloat3& val ) { _value = val; } 00108 00109 protected: // Value 00113 domFloat3 _value; 00114 protected: 00118 domDirection(DAE& dae) : daeElement(dae), _value() {} 00122 virtual ~domDirection() {} 00126 virtual domDirection &operator=( const domDirection &cpy ) { (void)cpy; return *this; } 00127 00128 public: // STATIC METHODS 00133 static DLLSPEC daeElementRef create(DAE& dae); 00139 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00140 }; 00141 00142 00143 00144 protected: // Elements 00145 domOriginRef elemOrigin; 00146 domDirectionRef elemDirection; 00147 domExtra_Array elemExtra_array; 00148 00149 public: //Accessors and Mutators 00154 const domOriginRef getOrigin() const { return elemOrigin; } 00159 const domDirectionRef getDirection() const { return elemDirection; } 00164 domExtra_Array &getExtra_array() { return elemExtra_array; } 00169 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00170 protected: 00174 domLine(DAE& dae) : daeElement(dae), elemOrigin(), elemDirection(), elemExtra_array() {} 00178 virtual ~domLine() {} 00182 virtual domLine &operator=( const domLine &cpy ) { (void)cpy; return *this; } 00183 00184 public: // STATIC METHODS 00189 static DLLSPEC daeElementRef create(DAE& dae); 00195 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00196 }; 00197 00198 00199 #endif