00001 #ifndef __domProfile_gles_h__
00002 #define __domProfile_gles_h__
00003
00004 #include <dae/daeDocument.h>
00005 #include <dom/domTypes.h>
00006 #include <dom/domElements.h>
00007
00008 #include <dom/domAsset.h>
00009 #include <dom/domGles_newparam.h>
00010 #include <dom/domFx_annotate.h>
00011 #include <dom/domGles_pipeline_settings.h>
00012 #include <dom/domFx_colortarget.h>
00013 #include <dom/domFx_depthtarget.h>
00014 #include <dom/domFx_stenciltarget.h>
00015 #include <dom/domFx_clearcolor.h>
00016 #include <dom/domFx_cleardepth.h>
00017 #include <dom/domFx_clearstencil.h>
00018 #include <dom/domExtra.h>
00019 class DAE;
00020
00024 class domProfile_gles : public daeElement
00025 {
00026 public:
00027 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROFILE_GLES; }
00028 static daeInt ID() { return 273; }
00029 virtual daeInt typeID() const { return ID(); }
00030 public:
00031 class domTechnique;
00032
00033 typedef daeSmartRef<domTechnique> domTechniqueRef;
00034 typedef daeTArray<domTechniqueRef> domTechnique_Array;
00035
00040 class domTechnique : public daeElement
00041 {
00042 public:
00043 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE; }
00044 static daeInt ID() { return 274; }
00045 virtual daeInt typeID() const { return ID(); }
00046 public:
00047 class domPass;
00048
00049 typedef daeSmartRef<domPass> domPassRef;
00050 typedef daeTArray<domPassRef> domPass_Array;
00051
00056 class domPass : public daeElement
00057 {
00058 public:
00059 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PASS; }
00060 static daeInt ID() { return 275; }
00061 virtual daeInt typeID() const { return ID(); }
00062 public:
00063 class domStates;
00064
00065 typedef daeSmartRef<domStates> domStatesRef;
00066 typedef daeTArray<domStatesRef> domStates_Array;
00067
00068 class domStates : public daeElement
00069 {
00070 public:
00071 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STATES; }
00072 static daeInt ID() { return 276; }
00073 virtual daeInt typeID() const { return ID(); }
00074
00075 protected:
00076 domGles_pipeline_settings_Array elemGles_pipeline_settings_array;
00077
00078 public:
00083 domGles_pipeline_settings_Array &getGles_pipeline_settings_array() { return elemGles_pipeline_settings_array; }
00088 const domGles_pipeline_settings_Array &getGles_pipeline_settings_array() const { return elemGles_pipeline_settings_array; }
00089 protected:
00093 domStates(DAE& dae) : daeElement(dae), elemGles_pipeline_settings_array() {}
00097 virtual ~domStates() {}
00101 virtual domStates &operator=( const domStates &cpy ) { (void)cpy; return *this; }
00102
00103 public:
00108 static DLLSPEC daeElementRef create(DAE& dae);
00114 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00115 };
00116
00117 class domEvaluate;
00118
00119 typedef daeSmartRef<domEvaluate> domEvaluateRef;
00120 typedef daeTArray<domEvaluateRef> domEvaluate_Array;
00121
00122 class domEvaluate : public daeElement
00123 {
00124 public:
00125 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EVALUATE; }
00126 static daeInt ID() { return 277; }
00127 virtual daeInt typeID() const { return ID(); }
00128 public:
00129 class domDraw;
00130
00131 typedef daeSmartRef<domDraw> domDrawRef;
00132 typedef daeTArray<domDrawRef> domDraw_Array;
00133
00134 class domDraw : public daeElement
00135 {
00136 public:
00137 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DRAW; }
00138 static daeInt ID() { return 278; }
00139 virtual daeInt typeID() const { return ID(); }
00140
00141
00142 public:
00147 domFx_draw& getValue() { return _value; }
00152 void setValue( const domFx_draw& val ) { _value = val; }
00153
00154 protected:
00158 domFx_draw _value;
00159 protected:
00163 domDraw(DAE& dae) : daeElement(dae), _value() {}
00167 virtual ~domDraw() {}
00171 virtual domDraw &operator=( const domDraw &cpy ) { (void)cpy; return *this; }
00172
00173 public:
00178 static DLLSPEC daeElementRef create(DAE& dae);
00184 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00185 };
00186
00187
00188
00189 protected:
00190 domFx_colortarget_Array elemColor_target_array;
00191 domFx_depthtarget_Array elemDepth_target_array;
00192 domFx_stenciltarget_Array elemStencil_target_array;
00193 domFx_clearcolor_Array elemColor_clear_array;
00194 domFx_cleardepth_Array elemDepth_clear_array;
00195 domFx_clearstencil_Array elemStencil_clear_array;
00196 domDrawRef elemDraw;
00197
00198 public:
00203 domFx_colortarget_Array &getColor_target_array() { return elemColor_target_array; }
00208 const domFx_colortarget_Array &getColor_target_array() const { return elemColor_target_array; }
00213 domFx_depthtarget_Array &getDepth_target_array() { return elemDepth_target_array; }
00218 const domFx_depthtarget_Array &getDepth_target_array() const { return elemDepth_target_array; }
00223 domFx_stenciltarget_Array &getStencil_target_array() { return elemStencil_target_array; }
00228 const domFx_stenciltarget_Array &getStencil_target_array() const { return elemStencil_target_array; }
00233 domFx_clearcolor_Array &getColor_clear_array() { return elemColor_clear_array; }
00238 const domFx_clearcolor_Array &getColor_clear_array() const { return elemColor_clear_array; }
00243 domFx_cleardepth_Array &getDepth_clear_array() { return elemDepth_clear_array; }
00248 const domFx_cleardepth_Array &getDepth_clear_array() const { return elemDepth_clear_array; }
00253 domFx_clearstencil_Array &getStencil_clear_array() { return elemStencil_clear_array; }
00258 const domFx_clearstencil_Array &getStencil_clear_array() const { return elemStencil_clear_array; }
00263 const domDrawRef getDraw() const { return elemDraw; }
00264 protected:
00268 domEvaluate(DAE& dae) : daeElement(dae), elemColor_target_array(), elemDepth_target_array(), elemStencil_target_array(), elemColor_clear_array(), elemDepth_clear_array(), elemStencil_clear_array(), elemDraw() {}
00272 virtual ~domEvaluate() {}
00276 virtual domEvaluate &operator=( const domEvaluate &cpy ) { (void)cpy; return *this; }
00277
00278 public:
00283 static DLLSPEC daeElementRef create(DAE& dae);
00289 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00290 };
00291
00292
00293 protected:
00299 domSid attrSid;
00300
00301 protected:
00302 domFx_annotate_Array elemAnnotate_array;
00303 domStatesRef elemStates;
00304 domEvaluateRef elemEvaluate;
00305 domExtra_Array elemExtra_array;
00306
00307 public:
00312 domSid getSid() const { return attrSid; }
00317 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
00318
00323 domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; }
00328 const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; }
00333 const domStatesRef getStates() const { return elemStates; }
00338 const domEvaluateRef getEvaluate() const { return elemEvaluate; }
00343 domExtra_Array &getExtra_array() { return elemExtra_array; }
00348 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00349 protected:
00353 domPass(DAE& dae) : daeElement(dae), attrSid(), elemAnnotate_array(), elemStates(), elemEvaluate(), elemExtra_array() {}
00357 virtual ~domPass() {}
00361 virtual domPass &operator=( const domPass &cpy ) { (void)cpy; return *this; }
00362
00363 public:
00368 static DLLSPEC daeElementRef create(DAE& dae);
00374 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00375 };
00376
00377
00378 protected:
00379 xsID attrId;
00385 domSid attrSid;
00386
00387 protected:
00388 domAssetRef elemAsset;
00389 domFx_annotate_Array elemAnnotate_array;
00394 domPass_Array elemPass_array;
00395 domExtra_Array elemExtra_array;
00396
00397 public:
00402 xsID getId() const { return attrId; }
00407 void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
00408 if( _document != NULL ) _document->changeElementID( this, attrId );
00409 }
00410
00415 domSid getSid() const { return attrSid; }
00420 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
00421
00426 const domAssetRef getAsset() const { return elemAsset; }
00431 domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; }
00436 const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; }
00441 domPass_Array &getPass_array() { return elemPass_array; }
00446 const domPass_Array &getPass_array() const { return elemPass_array; }
00451 domExtra_Array &getExtra_array() { return elemExtra_array; }
00456 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00457 protected:
00461 domTechnique(DAE& dae) : daeElement(dae), attrId(), attrSid(), elemAsset(), elemAnnotate_array(), elemPass_array(), elemExtra_array() {}
00465 virtual ~domTechnique() {}
00469 virtual domTechnique &operator=( const domTechnique &cpy ) { (void)cpy; return *this; }
00470
00471 public:
00476 static DLLSPEC daeElementRef create(DAE& dae);
00482 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00483 };
00484
00485
00486 protected:
00492 xsID attrId;
00497 xsNCName attrPlatform;
00498
00499 protected:
00500 domAssetRef elemAsset;
00501 domGles_newparam_Array elemNewparam_array;
00506 domTechnique_Array elemTechnique_array;
00507 domExtra_Array elemExtra_array;
00508
00509 public:
00514 xsID getId() const { return attrId; }
00519 void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
00520 if( _document != NULL ) _document->changeElementID( this, attrId );
00521 }
00522
00527 xsNCName getPlatform() const { return attrPlatform; }
00532 void setPlatform( xsNCName atPlatform ) { *(daeStringRef*)&attrPlatform = atPlatform;}
00533
00538 const domAssetRef getAsset() const { return elemAsset; }
00543 domGles_newparam_Array &getNewparam_array() { return elemNewparam_array; }
00548 const domGles_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
00553 domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
00558 const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
00563 domExtra_Array &getExtra_array() { return elemExtra_array; }
00568 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00569 protected:
00573 domProfile_gles(DAE& dae) : daeElement(dae), attrId(), attrPlatform(), elemAsset(), elemNewparam_array(), elemTechnique_array(), elemExtra_array() {}
00577 virtual ~domProfile_gles() {}
00581 virtual domProfile_gles &operator=( const domProfile_gles &cpy ) { (void)cpy; return *this; }
00582
00583 public:
00588 static DLLSPEC daeElementRef create(DAE& dae);
00594 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00595 };
00596
00597
00598 #endif