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 __domSphere_h__ 00010 #define __domSphere_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 #include <dom/domExtra.h> 00017 class DAE; 00018 00022 class domSphere : public daeElement 00023 { 00024 public: 00025 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SPHERE; } 00026 static daeInt ID() { return 771; } 00027 virtual daeInt typeID() const { return ID(); } 00028 public: 00029 class domRadius; 00030 00031 typedef daeSmartRef<domRadius> domRadiusRef; 00032 typedef daeTArray<domRadiusRef> domRadius_Array; 00033 00037 class domRadius : public daeElement 00038 { 00039 public: 00040 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS; } 00041 static daeInt ID() { return 772; } 00042 virtual daeInt typeID() const { return ID(); } 00043 00044 protected: // Value 00048 domFloat _value; 00049 00050 public: //Accessors and Mutators 00055 domFloat getValue() const { return _value; } 00060 void setValue( domFloat val ) { _value = val; } 00061 00062 protected: 00066 domRadius(DAE& dae) : daeElement(dae), _value() {} 00070 virtual ~domRadius() {} 00074 virtual domRadius &operator=( const domRadius &cpy ) { (void)cpy; return *this; } 00075 00076 public: // STATIC METHODS 00081 static DLLSPEC daeElementRef create(DAE& dae); 00087 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00088 }; 00089 00090 00091 00092 protected: // Elements 00096 domRadiusRef elemRadius; 00100 domExtra_Array elemExtra_array; 00101 00102 public: //Accessors and Mutators 00107 const domRadiusRef getRadius() const { return elemRadius; } 00112 domExtra_Array &getExtra_array() { return elemExtra_array; } 00117 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00118 protected: 00122 domSphere(DAE& dae) : daeElement(dae), elemRadius(), elemExtra_array() {} 00126 virtual ~domSphere() {} 00130 virtual domSphere &operator=( const domSphere &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