00001 /* 00002 * Copyright 2006 Sony Computer Entertainment Inc. 00003 * 00004 * Licensed under the MIT Open Source License, for details please see license.txt or the website 00005 * http://www.opensource.org/licenses/mit-license.php 00006 * 00007 */ 00008 00009 #ifndef __domEllipsoid_h__ 00010 #define __domEllipsoid_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 class DAE; 00017 00018 class domEllipsoid : public daeElement 00019 { 00020 public: 00021 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ELLIPSOID; } 00022 static daeInt ID() { return 773; } 00023 virtual daeInt typeID() const { return ID(); } 00024 public: 00025 class domSize; 00026 00027 typedef daeSmartRef<domSize> domSizeRef; 00028 typedef daeTArray<domSizeRef> domSize_Array; 00029 00030 class domSize : public daeElement 00031 { 00032 public: 00033 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIZE; } 00034 static daeInt ID() { return 774; } 00035 virtual daeInt typeID() const { return ID(); } 00036 00037 protected: // Value 00041 domFloat3 _value; 00042 00043 public: //Accessors and Mutators 00048 domFloat3 &getValue() { return _value; } 00053 const domFloat3 &getValue() const { return _value; } 00058 void setValue( const domFloat3 &val ) { _value = val; } 00059 00060 protected: 00064 domSize(DAE& dae) : daeElement(dae), _value() {} 00068 virtual ~domSize() {} 00072 virtual domSize &operator=( const domSize &cpy ) { (void)cpy; return *this; } 00073 00074 public: // STATIC METHODS 00079 static DLLSPEC daeElementRef create(DAE& dae); 00085 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00086 }; 00087 00088 00089 00090 protected: // Element 00091 domSizeRef elemSize; 00092 00093 public: //Accessors and Mutators 00098 const domSizeRef getSize() const { return elemSize; } 00099 protected: 00103 domEllipsoid(DAE& dae) : daeElement(dae), elemSize() {} 00107 virtual ~domEllipsoid() {} 00111 virtual domEllipsoid &operator=( const domEllipsoid &cpy ) { (void)cpy; return *this; } 00112 00113 public: // STATIC METHODS 00118 static DLLSPEC daeElementRef create(DAE& dae); 00124 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00125 }; 00126 00127 00128 #endif