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 __domFx_surface_init_cube_common_h__ 00010 #define __domFx_surface_init_cube_common_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 class DAE; 00017 00018 class domFx_surface_init_cube_common_complexType 00019 { 00020 public: 00021 class domAll; 00022 00023 typedef daeSmartRef<domAll> domAllRef; 00024 typedef daeTArray<domAllRef> domAll_Array; 00025 00029 class domAll : public daeElement 00030 { 00031 public: 00032 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALL; } 00033 static daeInt ID() { return 16; } 00034 virtual daeInt typeID() const { return ID(); } 00035 protected: // Attribute 00036 xsIDREF attrRef; 00037 00038 00039 public: //Accessors and Mutators 00044 xsIDREF &getRef() { return attrRef; } 00049 const xsIDREF &getRef() const{ return attrRef; } 00054 void setRef( const xsIDREF &atRef ) { attrRef = atRef; _validAttributeArray[0] = true; } 00055 00056 protected: 00060 domAll(DAE& dae) : daeElement(dae), attrRef(*this) {} 00064 virtual ~domAll() {} 00068 virtual domAll &operator=( const domAll &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 domPrimary; 00085 00086 typedef daeSmartRef<domPrimary> domPrimaryRef; 00087 typedef daeTArray<domPrimaryRef> domPrimary_Array; 00088 00094 class domPrimary : public daeElement 00095 { 00096 public: 00097 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PRIMARY; } 00098 static daeInt ID() { return 17; } 00099 virtual daeInt typeID() const { return ID(); } 00100 public: 00101 class domOrder; 00102 00103 typedef daeSmartRef<domOrder> domOrderRef; 00104 typedef daeTArray<domOrderRef> domOrder_Array; 00105 00110 class domOrder : public daeElement 00111 { 00112 public: 00113 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ORDER; } 00114 static daeInt ID() { return 18; } 00115 virtual daeInt typeID() const { return ID(); } 00116 00117 protected: // Value 00121 domFx_surface_face_enum _value; 00122 00123 public: //Accessors and Mutators 00128 domFx_surface_face_enum getValue() const { return _value; } 00133 void setValue( domFx_surface_face_enum val ) { _value = val; } 00134 00135 protected: 00139 domOrder(DAE& dae) : daeElement(dae), _value() {} 00143 virtual ~domOrder() {} 00147 virtual domOrder &operator=( const domOrder &cpy ) { (void)cpy; return *this; } 00148 00149 public: // STATIC METHODS 00154 static DLLSPEC daeElementRef create(DAE& dae); 00160 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00161 }; 00162 00163 00164 protected: // Attribute 00165 xsIDREF attrRef; 00166 00167 protected: // Element 00172 domOrder_Array elemOrder_array; 00173 00174 public: //Accessors and Mutators 00179 xsIDREF &getRef() { return attrRef; } 00184 const xsIDREF &getRef() const{ return attrRef; } 00189 void setRef( const xsIDREF &atRef ) { attrRef = atRef; _validAttributeArray[0] = true; } 00190 00195 domOrder_Array &getOrder_array() { return elemOrder_array; } 00200 const domOrder_Array &getOrder_array() const { return elemOrder_array; } 00201 protected: 00205 domPrimary(DAE& dae) : daeElement(dae), attrRef(*this), elemOrder_array() {} 00209 virtual ~domPrimary() {} 00213 virtual domPrimary &operator=( const domPrimary &cpy ) { (void)cpy; return *this; } 00214 00215 public: // STATIC METHODS 00220 static DLLSPEC daeElementRef create(DAE& dae); 00226 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00227 }; 00228 00229 class domFace; 00230 00231 typedef daeSmartRef<domFace> domFaceRef; 00232 typedef daeTArray<domFaceRef> domFace_Array; 00233 00237 class domFace : public daeElement 00238 { 00239 public: 00240 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FACE; } 00241 static daeInt ID() { return 19; } 00242 virtual daeInt typeID() const { return ID(); } 00243 protected: // Attribute 00244 xsIDREF attrRef; 00245 00246 00247 public: //Accessors and Mutators 00252 xsIDREF &getRef() { return attrRef; } 00257 const xsIDREF &getRef() const{ return attrRef; } 00262 void setRef( const xsIDREF &atRef ) { attrRef = atRef; _validAttributeArray[0] = true; } 00263 00264 protected: 00268 domFace(DAE& dae) : daeElement(dae), attrRef(*this) {} 00272 virtual ~domFace() {} 00276 virtual domFace &operator=( const domFace &cpy ) { (void)cpy; return *this; } 00277 00278 public: // STATIC METHODS 00283 static DLLSPEC daeElementRef create(DAE& dae); 00289 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00290 }; 00291 00292 00293 00294 protected: // Elements 00298 domAllRef elemAll; 00304 domPrimaryRef elemPrimary; 00308 domFace_Array elemFace_array; 00312 daeElementRefArray _contents; 00316 daeUIntArray _contentsOrder; 00317 00321 daeTArray< daeCharArray * > _CMData; 00322 00323 00324 public: //Accessors and Mutators 00329 const domAllRef getAll() const { return elemAll; } 00334 const domPrimaryRef getPrimary() const { return elemPrimary; } 00339 domFace_Array &getFace_array() { return elemFace_array; } 00344 const domFace_Array &getFace_array() const { return elemFace_array; } 00349 daeElementRefArray &getContents() { return _contents; } 00354 const daeElementRefArray &getContents() const { return _contents; } 00355 00356 protected: 00360 domFx_surface_init_cube_common_complexType(DAE& dae, daeElement* elt) : elemAll(), elemPrimary(), elemFace_array() {} 00364 virtual ~domFx_surface_init_cube_common_complexType() { daeElement::deleteCMDataArray(_CMData); } 00368 virtual domFx_surface_init_cube_common_complexType &operator=( const domFx_surface_init_cube_common_complexType &cpy ) { (void)cpy; return *this; } 00369 }; 00370 00374 class domFx_surface_init_cube_common : public daeElement, public domFx_surface_init_cube_common_complexType 00375 { 00376 public: 00377 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SURFACE_INIT_CUBE_COMMON; } 00378 static daeInt ID() { return 20; } 00379 virtual daeInt typeID() const { return ID(); } 00380 protected: 00384 domFx_surface_init_cube_common(DAE& dae) : daeElement(dae), domFx_surface_init_cube_common_complexType(dae, this) {} 00388 virtual ~domFx_surface_init_cube_common() {} 00392 virtual domFx_surface_init_cube_common &operator=( const domFx_surface_init_cube_common &cpy ) { (void)cpy; return *this; } 00393 00394 public: // STATIC METHODS 00399 static DLLSPEC daeElementRef create(DAE& dae); 00405 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00406 }; 00407 00408 00409 #endif