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 __domGles_texture_pipeline_h__ 00010 #define __domGles_texture_pipeline_h__ 00011 00012 #include <dae/daeDocument.h> 00013 #include <dom/domTypes.h> 00014 #include <dom/domElements.h> 00015 00016 #include <dom/domExtra.h> 00017 #include <dom/domGles_texcombiner_command_type.h> 00018 #include <dom/domGles_texenv_command_type.h> 00019 class DAE; 00020 00025 class domGles_texture_pipeline_complexType 00026 { 00027 protected: // Attribute 00033 xsNCName attrSid; 00034 00035 protected: // Elements 00040 domGles_texcombiner_command_type_Array elemTexcombiner_array; 00045 domGles_texenv_command_type_Array elemTexenv_array; 00050 domExtra_Array elemExtra_array; 00054 daeElementRefArray _contents; 00058 daeUIntArray _contentsOrder; 00059 00063 daeTArray< daeCharArray * > _CMData; 00064 00065 00066 public: //Accessors and Mutators 00071 xsNCName getSid() const { return attrSid; } 00076 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid;} 00077 00082 domGles_texcombiner_command_type_Array &getTexcombiner_array() { return elemTexcombiner_array; } 00087 const domGles_texcombiner_command_type_Array &getTexcombiner_array() const { return elemTexcombiner_array; } 00092 domGles_texenv_command_type_Array &getTexenv_array() { return elemTexenv_array; } 00097 const domGles_texenv_command_type_Array &getTexenv_array() const { return elemTexenv_array; } 00102 domExtra_Array &getExtra_array() { return elemExtra_array; } 00107 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00112 daeElementRefArray &getContents() { return _contents; } 00117 const daeElementRefArray &getContents() const { return _contents; } 00118 00119 protected: 00123 domGles_texture_pipeline_complexType(DAE& dae, daeElement* elt) : attrSid(), elemTexcombiner_array(), elemTexenv_array(), elemExtra_array() {} 00127 virtual ~domGles_texture_pipeline_complexType() { daeElement::deleteCMDataArray(_CMData); } 00131 virtual domGles_texture_pipeline_complexType &operator=( const domGles_texture_pipeline_complexType &cpy ) { (void)cpy; return *this; } 00132 }; 00133 00137 class domGles_texture_pipeline : public daeElement, public domGles_texture_pipeline_complexType 00138 { 00139 public: 00140 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXTURE_PIPELINE; } 00141 static daeInt ID() { return 152; } 00142 virtual daeInt typeID() const { return ID(); } 00143 00144 public: //Accessors and Mutators 00149 xsNCName getSid() const { return attrSid; } 00154 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; } 00155 00156 protected: 00160 domGles_texture_pipeline(DAE& dae) : daeElement(dae), domGles_texture_pipeline_complexType(dae, this) {} 00164 virtual ~domGles_texture_pipeline() {} 00168 virtual domGles_texture_pipeline &operator=( const domGles_texture_pipeline &cpy ) { (void)cpy; return *this; } 00169 00170 public: // STATIC METHODS 00175 static DLLSPEC daeElementRef create(DAE& dae); 00181 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00182 }; 00183 00184 00185 #endif