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_planar_common_h__ 00010 #define __domFx_surface_init_planar_common_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 class DAE; 00017 00021 class domFx_surface_init_planar_common_complexType 00022 { 00023 public: 00024 class domAll; 00025 00026 typedef daeSmartRef<domAll> domAllRef; 00027 typedef daeTArray<domAllRef> domAll_Array; 00028 00032 class domAll : public daeElement 00033 { 00034 public: 00035 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALL; } 00036 static daeInt ID() { return 11; } 00037 virtual daeInt typeID() const { return ID(); } 00038 protected: // Attribute 00039 xsIDREF attrRef; 00040 00041 00042 public: //Accessors and Mutators 00047 xsIDREF &getRef() { return attrRef; } 00052 const xsIDREF &getRef() const{ return attrRef; } 00057 void setRef( const xsIDREF &atRef ) { attrRef = atRef; _validAttributeArray[0] = true; } 00058 00059 protected: 00063 domAll(DAE& dae) : daeElement(dae), attrRef(*this) {} 00067 virtual ~domAll() {} 00071 virtual domAll &operator=( const domAll &cpy ) { (void)cpy; return *this; } 00072 00073 public: // STATIC METHODS 00078 static DLLSPEC daeElementRef create(DAE& dae); 00084 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00085 }; 00086 00087 00088 00089 protected: // Element 00093 domAllRef elemAll; 00097 daeElementRefArray _contents; 00101 daeUIntArray _contentsOrder; 00102 00106 daeTArray< daeCharArray * > _CMData; 00107 00108 00109 public: //Accessors and Mutators 00114 const domAllRef getAll() const { return elemAll; } 00119 daeElementRefArray &getContents() { return _contents; } 00124 const daeElementRefArray &getContents() const { return _contents; } 00125 00126 protected: 00130 domFx_surface_init_planar_common_complexType(DAE& dae, daeElement* elt) : elemAll() {} 00134 virtual ~domFx_surface_init_planar_common_complexType() { daeElement::deleteCMDataArray(_CMData); } 00138 virtual domFx_surface_init_planar_common_complexType &operator=( const domFx_surface_init_planar_common_complexType &cpy ) { (void)cpy; return *this; } 00139 }; 00140 00144 class domFx_surface_init_planar_common : public daeElement, public domFx_surface_init_planar_common_complexType 00145 { 00146 public: 00147 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SURFACE_INIT_PLANAR_COMMON; } 00148 static daeInt ID() { return 12; } 00149 virtual daeInt typeID() const { return ID(); } 00150 protected: 00154 domFx_surface_init_planar_common(DAE& dae) : daeElement(dae), domFx_surface_init_planar_common_complexType(dae, this) {} 00158 virtual ~domFx_surface_init_planar_common() {} 00162 virtual domFx_surface_init_planar_common &operator=( const domFx_surface_init_planar_common &cpy ) { (void)cpy; return *this; } 00163 00164 public: // STATIC METHODS 00169 static DLLSPEC daeElementRef create(DAE& dae); 00175 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00176 }; 00177 00178 00179 #endif