00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __domProfile_CG_h__
00010 #define __domProfile_CG_h__
00011
00012 #include <dae/daeDocument.h>
00013 #include <dom/domTypes.h>
00014 #include <dom/domElements.h>
00015
00016 #include <dom/domFx_profile_abstract.h>
00017 #include <dom/domAsset.h>
00018 #include <dom/domImage.h>
00019 #include <dom/domExtra.h>
00020 #include <dom/domFx_code_profile.h>
00021 #include <dom/domFx_include_common.h>
00022 #include <dom/domCg_newparam.h>
00023 #include <dom/domFx_annotate_common.h>
00024 #include <dom/domCg_setparam.h>
00025 #include <dom/domGl_pipeline_settings.h>
00026 #include <dom/domFx_colortarget_common.h>
00027 #include <dom/domFx_depthtarget_common.h>
00028 #include <dom/domFx_stenciltarget_common.h>
00029 #include <dom/domFx_clearcolor_common.h>
00030 #include <dom/domFx_cleardepth_common.h>
00031 #include <dom/domFx_clearstencil_common.h>
00032 #include <dom/domCg_param_type.h>
00033 class DAE;
00034
00038 class domProfile_CG : public domFx_profile_abstract
00039 {
00040 public:
00041 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROFILE_CG; }
00042 static daeInt ID() { return 746; }
00043 virtual daeInt typeID() const { return ID(); }
00044 public:
00045 class domTechnique;
00046
00047 typedef daeSmartRef<domTechnique> domTechniqueRef;
00048 typedef daeTArray<domTechniqueRef> domTechnique_Array;
00049
00054 class domTechnique : public daeElement
00055 {
00056 public:
00057 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE; }
00058 static daeInt ID() { return 747; }
00059 virtual daeInt typeID() const { return ID(); }
00060 public:
00061 class domPass;
00062
00063 typedef daeSmartRef<domPass> domPassRef;
00064 typedef daeTArray<domPassRef> domPass_Array;
00065
00070 class domPass : public daeElement
00071 {
00072 public:
00073 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PASS; }
00074 static daeInt ID() { return 748; }
00075 virtual daeInt typeID() const { return ID(); }
00076 public:
00077 class domDraw;
00078
00079 typedef daeSmartRef<domDraw> domDrawRef;
00080 typedef daeTArray<domDrawRef> domDraw_Array;
00081
00082 class domDraw : public daeElement
00083 {
00084 public:
00085 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DRAW; }
00086 static daeInt ID() { return 749; }
00087 virtual daeInt typeID() const { return ID(); }
00088
00089 protected:
00093 domFx_draw_common _value;
00094
00095 public:
00100 domFx_draw_common getValue() const { return _value; }
00105 void setValue( domFx_draw_common val ) { _value = val; }
00106
00107 protected:
00111 domDraw(DAE& dae) : daeElement(dae), _value() {}
00115 virtual ~domDraw() {}
00119 virtual domDraw &operator=( const domDraw &cpy ) { (void)cpy; return *this; }
00120
00121 public:
00126 static DLLSPEC daeElementRef create(DAE& dae);
00132 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00133 };
00134
00135 class domShader;
00136
00137 typedef daeSmartRef<domShader> domShaderRef;
00138 typedef daeTArray<domShaderRef> domShader_Array;
00139
00144 class domShader : public daeElement
00145 {
00146 public:
00147 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SHADER; }
00148 static daeInt ID() { return 750; }
00149 virtual daeInt typeID() const { return ID(); }
00150 public:
00151 class domCompiler_target;
00152
00153 typedef daeSmartRef<domCompiler_target> domCompiler_targetRef;
00154 typedef daeTArray<domCompiler_targetRef> domCompiler_target_Array;
00155
00156 class domCompiler_target : public daeElement
00157 {
00158 public:
00159 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMPILER_TARGET; }
00160 static daeInt ID() { return 751; }
00161 virtual daeInt typeID() const { return ID(); }
00162
00163 protected:
00167 xsNMTOKEN _value;
00168
00169 public:
00174 xsNMTOKEN getValue() const { return _value; }
00179 void setValue( xsNMTOKEN val ) { *(daeStringRef*)&_value = val; }
00180
00181 protected:
00185 domCompiler_target(DAE& dae) : daeElement(dae), _value() {}
00189 virtual ~domCompiler_target() {}
00193 virtual domCompiler_target &operator=( const domCompiler_target &cpy ) { (void)cpy; return *this; }
00194
00195 public:
00200 static DLLSPEC daeElementRef create(DAE& dae);
00206 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00207 };
00208
00209 class domCompiler_options;
00210
00211 typedef daeSmartRef<domCompiler_options> domCompiler_optionsRef;
00212 typedef daeTArray<domCompiler_optionsRef> domCompiler_options_Array;
00213
00217 class domCompiler_options : public daeElement
00218 {
00219 public:
00220 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMPILER_OPTIONS; }
00221 static daeInt ID() { return 752; }
00222 virtual daeInt typeID() const { return ID(); }
00223
00224 protected:
00228 xsString _value;
00229
00230 public:
00235 xsString getValue() const { return _value; }
00240 void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
00241
00242 protected:
00246 domCompiler_options(DAE& dae) : daeElement(dae), _value() {}
00250 virtual ~domCompiler_options() {}
00254 virtual domCompiler_options &operator=( const domCompiler_options &cpy ) { (void)cpy; return *this; }
00255
00256 public:
00261 static DLLSPEC daeElementRef create(DAE& dae);
00267 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00268 };
00269
00270 class domName;
00271
00272 typedef daeSmartRef<domName> domNameRef;
00273 typedef daeTArray<domNameRef> domName_Array;
00274
00278 class domName : public daeElement
00279 {
00280 public:
00281 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NAME; }
00282 static daeInt ID() { return 753; }
00283 virtual daeInt typeID() const { return ID(); }
00284 protected:
00285 xsNCName attrSource;
00286
00287 protected:
00291 xsNCName _value;
00292
00293 public:
00298 xsNCName getSource() const { return attrSource; }
00303 void setSource( xsNCName atSource ) { *(daeStringRef*)&attrSource = atSource; _validAttributeArray[0] = true; }
00304
00309 xsNCName getValue() const { return _value; }
00314 void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
00315
00316 protected:
00320 domName(DAE& dae) : daeElement(dae), attrSource(), _value() {}
00324 virtual ~domName() {}
00328 virtual domName &operator=( const domName &cpy ) { (void)cpy; return *this; }
00329
00330 public:
00335 static DLLSPEC daeElementRef create(DAE& dae);
00341 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00342 };
00343
00344 class domBind;
00345
00346 typedef daeSmartRef<domBind> domBindRef;
00347 typedef daeTArray<domBindRef> domBind_Array;
00348
00352 class domBind : public daeElement
00353 {
00354 public:
00355 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND; }
00356 static daeInt ID() { return 754; }
00357 virtual daeInt typeID() const { return ID(); }
00358 public:
00359 class domParam;
00360
00361 typedef daeSmartRef<domParam> domParamRef;
00362 typedef daeTArray<domParamRef> domParam_Array;
00363
00367 class domParam : public daeElement
00368 {
00369 public:
00370 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
00371 static daeInt ID() { return 755; }
00372 virtual daeInt typeID() const { return ID(); }
00373 protected:
00374 xsNCName attrRef;
00375
00376
00377 public:
00382 xsNCName getRef() const { return attrRef; }
00387 void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
00388
00389 protected:
00393 domParam(DAE& dae) : daeElement(dae), attrRef() {}
00397 virtual ~domParam() {}
00401 virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
00402
00403 public:
00408 static DLLSPEC daeElementRef create(DAE& dae);
00414 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00415 };
00416
00417
00418 protected:
00423 xsNCName attrSymbol;
00424
00425 protected:
00426 domCg_param_typeRef elemCg_param_type;
00431 domParamRef elemParam;
00435 daeElementRefArray _contents;
00439 daeUIntArray _contentsOrder;
00440
00444 daeTArray< daeCharArray * > _CMData;
00445
00446
00447 public:
00452 xsNCName getSymbol() const { return attrSymbol; }
00457 void setSymbol( xsNCName atSymbol ) { *(daeStringRef*)&attrSymbol = atSymbol; _validAttributeArray[0] = true; }
00458
00463 const domCg_param_typeRef getCg_param_type() const { return elemCg_param_type; }
00468 const domParamRef getParam() const { return elemParam; }
00473 daeElementRefArray &getContents() { return _contents; }
00478 const daeElementRefArray &getContents() const { return _contents; }
00479
00480 protected:
00484 domBind(DAE& dae) : daeElement(dae), attrSymbol(), elemCg_param_type(), elemParam() {}
00488 virtual ~domBind() { daeElement::deleteCMDataArray(_CMData); }
00492 virtual domBind &operator=( const domBind &cpy ) { (void)cpy; return *this; }
00493
00494 public:
00499 static DLLSPEC daeElementRef create(DAE& dae);
00505 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00506 };
00507
00508
00509 protected:
00514 domCg_pipeline_stage attrStage;
00515
00516 protected:
00517 domFx_annotate_common_Array elemAnnotate_array;
00518 domCompiler_targetRef elemCompiler_target;
00523 domCompiler_optionsRef elemCompiler_options;
00527 domNameRef elemName;
00531 domBind_Array elemBind_array;
00532
00533 public:
00538 domCg_pipeline_stage getStage() const { return attrStage; }
00543 void setStage( domCg_pipeline_stage atStage ) { attrStage = atStage; _validAttributeArray[0] = true; }
00544
00549 domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
00554 const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
00559 const domCompiler_targetRef getCompiler_target() const { return elemCompiler_target; }
00564 const domCompiler_optionsRef getCompiler_options() const { return elemCompiler_options; }
00569 const domNameRef getName() const { return elemName; }
00574 domBind_Array &getBind_array() { return elemBind_array; }
00579 const domBind_Array &getBind_array() const { return elemBind_array; }
00580 protected:
00584 domShader(DAE& dae) : daeElement(dae), attrStage(), elemAnnotate_array(), elemCompiler_target(), elemCompiler_options(), elemName(), elemBind_array() {}
00588 virtual ~domShader() {}
00592 virtual domShader &operator=( const domShader &cpy ) { (void)cpy; return *this; }
00593
00594 public:
00599 static DLLSPEC daeElementRef create(DAE& dae);
00605 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00606 };
00607
00608
00609 protected:
00615 xsNCName attrSid;
00616
00617 protected:
00618 domFx_annotate_common_Array elemAnnotate_array;
00619 domFx_colortarget_common_Array elemColor_target_array;
00620 domFx_depthtarget_common_Array elemDepth_target_array;
00621 domFx_stenciltarget_common_Array elemStencil_target_array;
00622 domFx_clearcolor_common_Array elemColor_clear_array;
00623 domFx_cleardepth_common_Array elemDepth_clear_array;
00624 domFx_clearstencil_common_Array elemStencil_clear_array;
00625 domDrawRef elemDraw;
00626 domGl_pipeline_settings_Array elemGl_pipeline_settings_array;
00631 domShader_Array elemShader_array;
00632 domExtra_Array elemExtra_array;
00636 daeElementRefArray _contents;
00640 daeUIntArray _contentsOrder;
00641
00645 daeTArray< daeCharArray * > _CMData;
00646
00647
00648 public:
00653 xsNCName getSid() const { return attrSid; }
00658 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
00659
00664 domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
00669 const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
00674 domFx_colortarget_common_Array &getColor_target_array() { return elemColor_target_array; }
00679 const domFx_colortarget_common_Array &getColor_target_array() const { return elemColor_target_array; }
00684 domFx_depthtarget_common_Array &getDepth_target_array() { return elemDepth_target_array; }
00689 const domFx_depthtarget_common_Array &getDepth_target_array() const { return elemDepth_target_array; }
00694 domFx_stenciltarget_common_Array &getStencil_target_array() { return elemStencil_target_array; }
00699 const domFx_stenciltarget_common_Array &getStencil_target_array() const { return elemStencil_target_array; }
00704 domFx_clearcolor_common_Array &getColor_clear_array() { return elemColor_clear_array; }
00709 const domFx_clearcolor_common_Array &getColor_clear_array() const { return elemColor_clear_array; }
00714 domFx_cleardepth_common_Array &getDepth_clear_array() { return elemDepth_clear_array; }
00719 const domFx_cleardepth_common_Array &getDepth_clear_array() const { return elemDepth_clear_array; }
00724 domFx_clearstencil_common_Array &getStencil_clear_array() { return elemStencil_clear_array; }
00729 const domFx_clearstencil_common_Array &getStencil_clear_array() const { return elemStencil_clear_array; }
00734 const domDrawRef getDraw() const { return elemDraw; }
00739 domGl_pipeline_settings_Array &getGl_pipeline_settings_array() { return elemGl_pipeline_settings_array; }
00744 const domGl_pipeline_settings_Array &getGl_pipeline_settings_array() const { return elemGl_pipeline_settings_array; }
00749 domShader_Array &getShader_array() { return elemShader_array; }
00754 const domShader_Array &getShader_array() const { return elemShader_array; }
00759 domExtra_Array &getExtra_array() { return elemExtra_array; }
00764 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00769 daeElementRefArray &getContents() { return _contents; }
00774 const daeElementRefArray &getContents() const { return _contents; }
00775
00776 protected:
00780 domPass(DAE& dae) : daeElement(dae), attrSid(), elemAnnotate_array(), elemColor_target_array(), elemDepth_target_array(), elemStencil_target_array(), elemColor_clear_array(), elemDepth_clear_array(), elemStencil_clear_array(), elemDraw(), elemGl_pipeline_settings_array(), elemShader_array(), elemExtra_array() {}
00784 virtual ~domPass() { daeElement::deleteCMDataArray(_CMData); }
00788 virtual domPass &operator=( const domPass &cpy ) { (void)cpy; return *this; }
00789
00790 public:
00795 static DLLSPEC daeElementRef create(DAE& dae);
00801 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00802 };
00803
00804
00805 protected:
00811 xsID attrId;
00817 xsNCName attrSid;
00818
00819 protected:
00823 domAssetRef elemAsset;
00824 domFx_annotate_common_Array elemAnnotate_array;
00825 domFx_code_profile_Array elemCode_array;
00826 domFx_include_common_Array elemInclude_array;
00827 domImage_Array elemImage_array;
00828 domCg_newparam_Array elemNewparam_array;
00829 domCg_setparam_Array elemSetparam_array;
00834 domPass_Array elemPass_array;
00835 domExtra_Array elemExtra_array;
00839 daeElementRefArray _contents;
00843 daeUIntArray _contentsOrder;
00844
00848 daeTArray< daeCharArray * > _CMData;
00849
00850
00851 public:
00856 xsID getId() const { return attrId; }
00861 void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
00862 if( _document != NULL ) _document->changeElementID( this, attrId );
00863 }
00864
00869 xsNCName getSid() const { return attrSid; }
00874 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
00875
00880 const domAssetRef getAsset() const { return elemAsset; }
00885 domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
00890 const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
00895 domFx_code_profile_Array &getCode_array() { return elemCode_array; }
00900 const domFx_code_profile_Array &getCode_array() const { return elemCode_array; }
00905 domFx_include_common_Array &getInclude_array() { return elemInclude_array; }
00910 const domFx_include_common_Array &getInclude_array() const { return elemInclude_array; }
00915 domImage_Array &getImage_array() { return elemImage_array; }
00920 const domImage_Array &getImage_array() const { return elemImage_array; }
00925 domCg_newparam_Array &getNewparam_array() { return elemNewparam_array; }
00930 const domCg_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
00935 domCg_setparam_Array &getSetparam_array() { return elemSetparam_array; }
00940 const domCg_setparam_Array &getSetparam_array() const { return elemSetparam_array; }
00945 domPass_Array &getPass_array() { return elemPass_array; }
00950 const domPass_Array &getPass_array() const { return elemPass_array; }
00955 domExtra_Array &getExtra_array() { return elemExtra_array; }
00960 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00965 daeElementRefArray &getContents() { return _contents; }
00970 const daeElementRefArray &getContents() const { return _contents; }
00971
00972 protected:
00976 domTechnique(DAE& dae) : daeElement(dae), attrId(), attrSid(), elemAsset(), elemAnnotate_array(), elemCode_array(), elemInclude_array(), elemImage_array(), elemNewparam_array(), elemSetparam_array(), elemPass_array(), elemExtra_array() {}
00980 virtual ~domTechnique() { daeElement::deleteCMDataArray(_CMData); }
00984 virtual domTechnique &operator=( const domTechnique &cpy ) { (void)cpy; return *this; }
00985
00986 public:
00991 static DLLSPEC daeElementRef create(DAE& dae);
00997 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00998 };
00999
01000
01001 protected:
01007 xsID attrId;
01012 xsNCName attrPlatform;
01013
01014 protected:
01015 domAssetRef elemAsset;
01016 domFx_code_profile_Array elemCode_array;
01017 domFx_include_common_Array elemInclude_array;
01018 domImage_Array elemImage_array;
01019 domCg_newparam_Array elemNewparam_array;
01024 domTechnique_Array elemTechnique_array;
01025 domExtra_Array elemExtra_array;
01029 daeElementRefArray _contents;
01033 daeUIntArray _contentsOrder;
01034
01038 daeTArray< daeCharArray * > _CMData;
01039
01040
01041 public:
01046 xsID getId() const { return attrId; }
01051 void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
01052 if( _document != NULL ) _document->changeElementID( this, attrId );
01053 }
01054
01059 xsNCName getPlatform() const { return attrPlatform; }
01064 void setPlatform( xsNCName atPlatform ) { *(daeStringRef*)&attrPlatform = atPlatform; _validAttributeArray[1] = true; }
01065
01070 const domAssetRef getAsset() const { return elemAsset; }
01075 domFx_code_profile_Array &getCode_array() { return elemCode_array; }
01080 const domFx_code_profile_Array &getCode_array() const { return elemCode_array; }
01085 domFx_include_common_Array &getInclude_array() { return elemInclude_array; }
01090 const domFx_include_common_Array &getInclude_array() const { return elemInclude_array; }
01095 domImage_Array &getImage_array() { return elemImage_array; }
01100 const domImage_Array &getImage_array() const { return elemImage_array; }
01105 domCg_newparam_Array &getNewparam_array() { return elemNewparam_array; }
01110 const domCg_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
01115 domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
01120 const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
01125 domExtra_Array &getExtra_array() { return elemExtra_array; }
01130 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
01135 daeElementRefArray &getContents() { return _contents; }
01140 const daeElementRefArray &getContents() const { return _contents; }
01141
01142 protected:
01146 domProfile_CG(DAE& dae) : domFx_profile_abstract(dae), attrId(), attrPlatform(), elemAsset(), elemCode_array(), elemInclude_array(), elemImage_array(), elemNewparam_array(), elemTechnique_array(), elemExtra_array() {}
01150 virtual ~domProfile_CG() { daeElement::deleteCMDataArray(_CMData); }
01154 virtual domProfile_CG &operator=( const domProfile_CG &cpy ) { (void)cpy; return *this; }
01155
01156 public:
01161 static DLLSPEC daeElementRef create(DAE& dae);
01167 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
01168 };
01169
01170
01171 #endif