1 /* 2 * Copyright 2006 Sony Computer Entertainment Inc. 3 * 4 * Licensed under the MIT Open Source License, for details please see license.txt or the website 5 * http://www.opensource.org/licenses/mit-license.php 6 * 7 */ 8 9 #ifndef __domEllipsoid_h__ 10 #define __domEllipsoid_h__ 11 12 #include <dae/daeDocument.h> 13 #include <dom/domTypes.h> 14 #include <dom/domElements.h> 15 16 class DAE; 17 18 class domEllipsoid : public daeElement 19 { 20 public: 21 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ELLIPSOID; } 22 static daeInt ID() { return 773; } 23 virtual daeInt typeID() const { return ID(); } 24 public: 25 class domSize; 26 27 typedef daeSmartRef<domSize> domSizeRef; 28 typedef daeTArray<domSizeRef> domSize_Array; 29 30 class domSize : public daeElement 31 { 32 public: 33 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIZE; } 34 static daeInt ID() { return 774; } 35 virtual daeInt typeID() const { return ID(); } 36 37 protected: // Value 38 /** 39 * The domFloat3 value of the text data of this element. 40 */ 41 domFloat3 _value; 42 43 public: //Accessors and Mutators 44 /** 45 * Gets the _value array. 46 * @return Returns a domFloat3 reference of the _value array. 47 */ 48 domFloat3 &getValue() { return _value; } 49 /** 50 * Gets the _value array. 51 * @return Returns a constant domFloat3 reference of the _value array. 52 */ 53 const domFloat3 &getValue() const { return _value; } 54 /** 55 * Sets the _value array. 56 * @param val The new value for the _value array. 57 */ 58 void setValue( const domFloat3 &val ) { _value = val; } 59 60 protected: 61 /** 62 * Constructor 63 */ 64 domSize(DAE& dae) : daeElement(dae), _value() {} 65 /** 66 * Destructor 67 */ 68 virtual ~domSize() {} 69 /** 70 * Overloaded assignment operator 71 */ 72 virtual domSize &operator=( const domSize &cpy ) { (void)cpy; return *this; } 73 74 public: // STATIC METHODS 75 /** 76 * Creates an instance of this class and returns a daeElementRef referencing it. 77 * @return a daeElementRef referencing an instance of this object. 78 */ 79 static DLLSPEC daeElementRef create(DAE& dae); 80 /** 81 * Creates a daeMetaElement object that describes this element in the meta object reflection framework. 82 * If a daeMetaElement already exists it will return that instead of creating a new one. 83 * @return A daeMetaElement describing this COLLADA element. 84 */ 85 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 86 }; 87 88 89 90 protected: // Element 91 domSizeRef elemSize; 92 93 public: //Accessors and Mutators 94 /** 95 * Gets the size element. 96 * @return a daeSmartRef to the size element. 97 */ 98 const domSizeRef getSize() const { return elemSize; } 99 protected: 100 /** 101 * Constructor 102 */ 103 domEllipsoid(DAE& dae) : daeElement(dae), elemSize() {} 104 /** 105 * Destructor 106 */ 107 virtual ~domEllipsoid() {} 108 /** 109 * Overloaded assignment operator 110 */ 111 virtual domEllipsoid &operator=( const domEllipsoid &cpy ) { (void)cpy; return *this; } 112 113 public: // STATIC METHODS 114 /** 115 * Creates an instance of this class and returns a daeElementRef referencing it. 116 * @return a daeElementRef referencing an instance of this object. 117 */ 118 static DLLSPEC daeElementRef create(DAE& dae); 119 /** 120 * Creates a daeMetaElement object that describes this element in the meta object reflection framework. 121 * If a daeMetaElement already exists it will return that instead of creating a new one. 122 * @return A daeMetaElement describing this COLLADA element. 123 */ 124 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 125 }; 126 127 128 #endif 129