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 __domBox_h__ 00010 #define __domBox_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 domBox : public daeElement 00023 { 00024 public: 00025 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOX; } 00026 static daeInt ID() { return 767; } 00027 virtual daeInt typeID() const { return ID(); } 00028 public: 00029 class domHalf_extents; 00030 00031 typedef daeSmartRef<domHalf_extents> domHalf_extentsRef; 00032 typedef daeTArray<domHalf_extentsRef> domHalf_extents_Array; 00033 00037 class domHalf_extents : public daeElement 00038 { 00039 public: 00040 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF_EXTENTS; } 00041 static daeInt ID() { return 768; } 00042 virtual daeInt typeID() const { return ID(); } 00043 00044 protected: // Value 00048 domFloat3 _value; 00049 00050 public: //Accessors and Mutators 00055 domFloat3 &getValue() { return _value; } 00060 const domFloat3 &getValue() const { return _value; } 00065 void setValue( const domFloat3 &val ) { _value = val; } 00066 00067 protected: 00071 domHalf_extents(DAE& dae) : daeElement(dae), _value() {} 00075 virtual ~domHalf_extents() {} 00079 virtual domHalf_extents &operator=( const domHalf_extents &cpy ) { (void)cpy; return *this; } 00080 00081 public: // STATIC METHODS 00086 static DLLSPEC daeElementRef create(DAE& dae); 00092 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00093 }; 00094 00095 00096 00097 protected: // Elements 00101 domHalf_extentsRef elemHalf_extents; 00105 domExtra_Array elemExtra_array; 00106 00107 public: //Accessors and Mutators 00112 const domHalf_extentsRef getHalf_extents() const { return elemHalf_extents; } 00117 domExtra_Array &getExtra_array() { return elemExtra_array; } 00122 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00123 protected: 00127 domBox(DAE& dae) : daeElement(dae), elemHalf_extents(), elemExtra_array() {} 00131 virtual ~domBox() {} 00135 virtual domBox &operator=( const domBox &cpy ) { (void)cpy; return *this; } 00136 00137 public: // STATIC METHODS 00142 static DLLSPEC daeElementRef create(DAE& dae); 00148 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00149 }; 00150 00151 00152 #endif