00001 #ifndef __domGles2_pass_h__ 00002 #define __domGles2_pass_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domFx_annotate.h> 00009 #include <dom/domGles2_pipeline_settings.h> 00010 #include <dom/domGles2_program.h> 00011 #include <dom/domFx_colortarget.h> 00012 #include <dom/domFx_depthtarget.h> 00013 #include <dom/domFx_stenciltarget.h> 00014 #include <dom/domFx_clearcolor.h> 00015 #include <dom/domFx_clearstencil.h> 00016 #include <dom/domFx_cleardepth.h> 00017 #include <dom/domExtra.h> 00018 class DAE; 00019 00023 class domGles2_pass : public daeElement 00024 { 00025 public: 00026 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES2_PASS; } 00027 static daeInt ID() { return 220; } 00028 virtual daeInt typeID() const { return ID(); } 00029 public: 00030 class domStates; 00031 00032 typedef daeSmartRef<domStates> domStatesRef; 00033 typedef daeTArray<domStatesRef> domStates_Array; 00034 00038 class domStates : public daeElement 00039 { 00040 public: 00041 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STATES; } 00042 static daeInt ID() { return 221; } 00043 virtual daeInt typeID() const { return ID(); } 00044 00045 protected: // Element 00046 domGles2_pipeline_settings_Array elemGles2_pipeline_settings_array; 00047 00048 public: //Accessors and Mutators 00053 domGles2_pipeline_settings_Array &getGles2_pipeline_settings_array() { return elemGles2_pipeline_settings_array; } 00058 const domGles2_pipeline_settings_Array &getGles2_pipeline_settings_array() const { return elemGles2_pipeline_settings_array; } 00059 protected: 00063 domStates(DAE& dae) : daeElement(dae), elemGles2_pipeline_settings_array() {} 00067 virtual ~domStates() {} 00071 virtual domStates &operator=( const domStates &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 class domEvaluate; 00088 00089 typedef daeSmartRef<domEvaluate> domEvaluateRef; 00090 typedef daeTArray<domEvaluateRef> domEvaluate_Array; 00091 00095 class domEvaluate : public daeElement 00096 { 00097 public: 00098 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EVALUATE; } 00099 static daeInt ID() { return 222; } 00100 virtual daeInt typeID() const { return ID(); } 00101 public: 00102 class domDraw; 00103 00104 typedef daeSmartRef<domDraw> domDrawRef; 00105 typedef daeTArray<domDrawRef> domDraw_Array; 00106 00111 class domDraw : public daeElement 00112 { 00113 public: 00114 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DRAW; } 00115 static daeInt ID() { return 223; } 00116 virtual daeInt typeID() const { return ID(); } 00117 00118 00119 public: //Accessors and Mutators 00124 domFx_draw& getValue() { return _value; } 00129 void setValue( const domFx_draw& val ) { _value = val; } 00130 00131 protected: // Value 00135 domFx_draw _value; 00136 protected: 00140 domDraw(DAE& dae) : daeElement(dae), _value() {} 00144 virtual ~domDraw() {} 00148 virtual domDraw &operator=( const domDraw &cpy ) { (void)cpy; return *this; } 00149 00150 public: // STATIC METHODS 00155 static DLLSPEC daeElementRef create(DAE& dae); 00161 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00162 }; 00163 00164 00165 00166 protected: // Elements 00171 domFx_colortarget_Array elemColor_target_array; 00176 domFx_depthtarget_Array elemDepth_target_array; 00181 domFx_stenciltarget_Array elemStencil_target_array; 00186 domFx_clearcolor_Array elemColor_clear_array; 00191 domFx_clearstencil_Array elemStencil_clear_array; 00196 domFx_cleardepth_Array elemDepth_clear_array; 00201 domDrawRef elemDraw; 00202 00203 public: //Accessors and Mutators 00208 domFx_colortarget_Array &getColor_target_array() { return elemColor_target_array; } 00213 const domFx_colortarget_Array &getColor_target_array() const { return elemColor_target_array; } 00218 domFx_depthtarget_Array &getDepth_target_array() { return elemDepth_target_array; } 00223 const domFx_depthtarget_Array &getDepth_target_array() const { return elemDepth_target_array; } 00228 domFx_stenciltarget_Array &getStencil_target_array() { return elemStencil_target_array; } 00233 const domFx_stenciltarget_Array &getStencil_target_array() const { return elemStencil_target_array; } 00238 domFx_clearcolor_Array &getColor_clear_array() { return elemColor_clear_array; } 00243 const domFx_clearcolor_Array &getColor_clear_array() const { return elemColor_clear_array; } 00248 domFx_clearstencil_Array &getStencil_clear_array() { return elemStencil_clear_array; } 00253 const domFx_clearstencil_Array &getStencil_clear_array() const { return elemStencil_clear_array; } 00258 domFx_cleardepth_Array &getDepth_clear_array() { return elemDepth_clear_array; } 00263 const domFx_cleardepth_Array &getDepth_clear_array() const { return elemDepth_clear_array; } 00268 const domDrawRef getDraw() const { return elemDraw; } 00269 protected: 00273 domEvaluate(DAE& dae) : daeElement(dae), elemColor_target_array(), elemDepth_target_array(), elemStencil_target_array(), elemColor_clear_array(), elemStencil_clear_array(), elemDepth_clear_array(), elemDraw() {} 00277 virtual ~domEvaluate() {} 00281 virtual domEvaluate &operator=( const domEvaluate &cpy ) { (void)cpy; return *this; } 00282 00283 public: // STATIC METHODS 00288 static DLLSPEC daeElementRef create(DAE& dae); 00294 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00295 }; 00296 00297 00298 protected: // Attribute 00304 domSid attrSid; 00305 00306 protected: // Elements 00311 domFx_annotate_Array elemAnnotate_array; 00315 domStatesRef elemStates; 00320 domGles2_programRef elemProgram; 00324 domEvaluateRef elemEvaluate; 00325 domExtra_Array elemExtra_array; 00326 00327 public: //Accessors and Mutators 00332 domSid getSid() const { return attrSid; } 00337 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;} 00338 00343 domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; } 00348 const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; } 00353 const domStatesRef getStates() const { return elemStates; } 00358 const domGles2_programRef getProgram() const { return elemProgram; } 00363 const domEvaluateRef getEvaluate() const { return elemEvaluate; } 00368 domExtra_Array &getExtra_array() { return elemExtra_array; } 00373 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00374 protected: 00378 domGles2_pass(DAE& dae) : daeElement(dae), attrSid(), elemAnnotate_array(), elemStates(), elemProgram(), elemEvaluate(), elemExtra_array() {} 00382 virtual ~domGles2_pass() {} 00386 virtual domGles2_pass &operator=( const domGles2_pass &cpy ) { (void)cpy; return *this; } 00387 00388 public: // STATIC METHODS 00393 static DLLSPEC daeElementRef create(DAE& dae); 00399 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00400 }; 00401 00402 00403 #endif